Most likely some of your own code blocks proper initialization of the render thread. This usually happens if you are polling Display, Mouse or Keyboard from anywhere outside the rendering thread, i.e. from outside an implementation of an IPaintListener. Apart from that, i'm not aware of any problems with multi-threading support. If nothing else helps, get a thread dump when it hangs and post it.