Sometimes, it was possible to set the qmlElement bounds AFTER the qmlElement itself was deleted on another thread.
To fix this we use a shared_ptr to hold the qmlElement, then use a weak_ptr in the setProperties lambda, to verify that the qmlElement still exists.
The script that was previously causing this code to fail is: "users.js".
Because, it creates a textSizeOverlay then immediately deletes it.