The function body simply calls the following, which is thread safe: QCoreApplication::postEvent(this, new QDeferredDeleteEvent()); So, it looks like deleteLater() is safe to call from any thread. Are there any technical or philosophical reasons not to do that? Regards, Sze-Howe