@sinjohr I think this things happen. Working with threads is not always a cool path.
According to the documentation, a QEvent::ThreadChange event is sent to the object just before the thread affinity is changed.
You can try to handle the event.
Another option is using the overloaded method
void QCoreApplication::postEvent(QObject * receiver, QEvent * event, int priority)
and use Qt::LowEventPriority.