At least on linux, after you start a thread with Poco::Thread::start, you must call Poco::Thread::join, even if you know that the thread ended already. Failure to call join will cause a memory leak. I haven't seen any reference to it in the documentation.
Attached is a small sample app.
This is confirmed in the pthread documentation: