It should be enough to call QObject::deleteLater() and wait until the connection thread stops spinning its event loop.