[NSNumber numberWithInt: 1] === [[[NSNumber alloc] initWithInt: 1] авто-выпуск]
Несмотря на то, что numberWithInt: удобнее, требуется больше кода для выполнения. Внутренне, autorelease привязывает этот объект к постоянно растущему массиву.
Если вы в цикле выполняете много выделений, вы можете извлечь выгоду из управления памятью самостоятельно. При нормальном ходе операций пользовательского интерфейса стоимость автоматического выпуска незначительна.
Фактическое определение лотов зависит от вас и от профилировщика. В какой момент преимущество более читабельного кода теряется в пользу более быстрого кода?