Every time you clone a thread, it walks through the %MY_CXT structure and increments counts on everything in there. When a thread exits it gets DESTROYed only once - in the thread that was running. Therefore every thread gets CLONED many times, and DESTROYed only once. This adds up to many more CLONEs than DESTROYs.