In the help :
If auto-deletion is enabled, QThreadPool will automatically delete this runnable after calling run(); otherwise, ownership remains with the application programmer.
What is translated:
If auto-deletion is enabled (by default, this is the case), then the thread pool will automatically destroy the QRunnable object after the execution context exits from the QRunnable::run() method. In the opposite case, the responsibility for deleting the object lies with the caller (the application developer).
A warning
Care should be taken when using the automatic deletion of QRunnable objects and QThreadPool::releaseThread() / QThreadPool::reserveThread() . In some cases, memory leaks are possible.