Commenter Tim Smith claims that the problems with multithreaded UI code are not significantly more than plain multithreaded code. While that may be true on a theoretical level, the situations are quite different in practice.
Regardless of whether your multithreaded code does UI or not, you have to deal with race conditions, synchronization, ...