Yes, that is right. Technically, it would probably be possible with Win32 to run the GUI thread as non-main, but it might be confusing and a lot of code would need to be modified in U++...
Anyway, this model (I mean GUI running in the main thread) is pretty common arrangement, e.g. Qt has this too.
If you are running "the real stuff" in main thread now and GUI in another, would it be hard to swap that?