My program does not appear to be leaking so I am curious about this. If I have initialized a subclassed QObject with new and I did not give the object a parent, when is it being destroyed? It seems to go against the specification of C++ but maybe it's possible the qt meta compiler is doing something behind the scenes.
More specifically, I am using a QThread and using moveToThread on the object with no parent (the implications of threads forces no parents). It appears that object under the thread gets destroyed when the main program finishes.
Dynamically allocated data without lifetime management will "live" until the application is terminated.
If your concern is with your worker objects leaking, you can call deleteLater()
on them once their work is finished, and since it is a slot, you can also connect signals to it.