deleteLater() has nothing to do with parentship. You just need a running event loop in the thread owning the object you wish to delete (in your case the QThread instance).
However such an unconditional self-deletion is dangerous since you don't know whether the object has been allocated on heap or on stack. The object should never delete itself. It is much better to connect the finished() signal to the deleteLater() slot from outside of the object.
Bookmarks