Deleting the label would not reset the value of the pointer to 0 in any case, so your test is not a good one.
Was thinking that the QObject destructor would delete it then assign it as a nullptr for some odd reason.

Thanks for your example I see how it works now. It just felt weird creating objects on the heap without RAII and them being deleted automatically.