The TG GUI "freezing" is almost certainly not related due to resource utilization - I think it is single-threaded, and it will fork/exec a bunch of programs to "compile" scenery, which is why the GUI may appear unresponsive while those programs are running. For that to change, the GUI would need to be implemented using multi-threading, which I don't think is the case currently. Depending on the OS in question, the process monitor may report false information, because it will also include forked processed.
One option we discussed a while ago was using SSH (networking) to fork those processes, which would simplify a few things - while also allowing the TG GUI to be used "remotely", e.g. for a central TG build server.
However, I haven't looked at the Qt GUI or its code in ages, so I am sure Gijs or others can better help clarify why the UI may appear unresponsive at times.