It's possible that this causes problems if something in SDL or SM absolutely must be run in the main thread. One thing to consider is lowering the main thread's precedence.