Does that mean that the QIcon keeps hold of the QPixmap?
No, it means exactly the opposite.
If the QIcon had its own deep copy, it wouldn't need the external pixmap object to stay alive.

If I do create it on the heap, who's reponsible for deleting it? Apologies if this seems like a daft question...
Not darf at all, would be better if more people would think that far to ask it.
The answer depends on how you allocate your pixmap.
If you give it a QObject parent, you don't have to worry about destruction, the parent will.
If its parent-less, you will have to take care of deleting it.