I’m not sure, there can always be other issues. But note that closing the window is not the same as terminating the application. When you close the window, the application gets a signal that it usually handles as cleaning up and shutting down. But if it is hanging, that task is not performed and resources are still held.
I’m still using the (ancient) Squeeze system (lyrion.org these days). Default setup for new things are a raspberry with a DAC or digital out (picoreplayer), feeding into active speakers. It’s open source, just works, with plugins for almost anything and has all the multiroom sync etc. You don’t even need a separate server unless you want to, just add some disk to one of the raspberries and let i be your media server.