paint on a separate thread
In JADE, window messages are processed on the same thread as the main logic, so when it's busy running code it doesn't process window messages. Because it doesn't process paint messages, it looks like it's crashed, Windows says it's not responding...