Он должен исчезнуть, если вы создадите NSAutoreleasePool вокруг этого кода. Обычно это происходит, если этот код не выполняется в главном потоке.
NSAutoreleasePool* pool = [NSAutoreleasePool new];
// Your code goes here
[pool drain];
Кроме того, имейте в виду, что если вы зацикливаетесь внутри нового / сливного блока NSAutoreleasePool, вы будете протекать до тех пор, пока не достигнете утечки. В результате, если вы выделяете слишком много памяти внутри цикла, вашему приложению все еще может не хватать памяти. В этом случае вам может понадобиться создать и использовать второй NSAutoreleasePool каждый раз в цикле (или, возможно, каждый n-й раз в цикле, чтобы избежать некоторых издержек).