Дейв Делонг уже ответил на ваши вопросы, но обычно единственный раз, когда вы заполняете бассейн слишком высоко, это когда вы находитесь в очень узком кругу.В этом случае просто создайте новый пул автоматического выпуска для каждой итерации цикла.
for (NSUInteger i = 0; i < 1000000000; i++)
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
// do the work
[pool release];
}
Объекты автоматически добавляются в последний созданный пул автоматического выпуска для текущего потока.Создав по одному для каждой итерации цикла, вы можете быстро избавиться от нежелательных объектов, не позволяя им накапливаться в пуле цикла выполнения.