Это происходит потому, что вы работаете в потоке. Пользовательские потоки не разделяют пул автоматического выпуска основных потоков, поэтому вам нужно создать свой собственный. В противном случае подобные объекты никогда не будут освобождены, что приведет к утечке.
В начале вашего метода потока, перед циклом или чем-то еще, выполните:
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
Перед возвращением отпустите:
* +1007 *