Hi, thanks for your suggestions.
I agree that while(!WorkerThread->isRunning()); may be bad construct, but it doesn't solve the problem. Although GUI thread may freeze for awhile, it still continues and both threads are running.
The run() executive is in different thread than gui, and the problem still persists.
Ignoring "binding loop" message doesn't help either, when the gui thread still crashes - I guess only QQmlApplicationEngine has some poblem as outlined by this assert
ASSERT: “engine->jsStackTop >= mark”