Como funciona o pool de liberação automática NSAutoreleasePool?

Pelo que entendi, qualquer coisa criada com uma alocação , nova ou cópia precisa ser liberada manualmente. Por exemplo: int main(void) { NSString *string; string = [[NSString alloc] init]; /* use the string */ [string release]; } Minha pergunta, porém, é que isso não seria tão válido ?: int...