WaitingThread read some shared memory with the SubProcess (`mutex`, `m_running`). When we destroy the SubProcess, we must be sure that WaitingThread has correctly finished else we may have invalid read/write on freed memory.
m_compress