A few tidbits to offer.
1) throttling the background processing as suggested helps reserve processing power for other tasks so that is a good idea.
2) sometimes the Roon endpoint not Roon itself can become the bottleneck, for example when many tracks are in the queue. Displaying the queue contents can lock up the Roon controller for a time while displaying initially.
Also my Cambridge Audio streamers sometimes take a long time to start playing a track with many tracks in the Roon device’s queue. A restart of the streamer device usually clears that. I often queue up thousands of tracks randomly so I do ask a lot of Roon and my streamers there.
Yes Roon isn’t perfect but I find the benefits far outweigh the disadvantages.
Roon can be very CPU intensive. I run it on a very modest powered device that works well but often bottlenecks on CPU. Will likely move to a faster device with more CPU horsepower at some point.
Next time Roon hangs up, check the system resource monitor on your OS to see where the bottleneck is. Most likely CPU and maybe network bandwidth in some cases with Roon core/server from what I have seen personally.
With windows deactivating unneeded os services can go a long way.
Also avoid running other cpu intensive programs on your Roon server. For example Google Chrome and other browsers can be a resource hog as well especially if one allows many cookies to collect and suck up cpu resources.