right, so if you do
@autoreleasePool {
[[[SomeObject alloc] init] autorelease];
}//someobject is release after exiting this scope
//inside main runloop, not inside @autorelease{}
[[[AnotherObject alloc] init] autorelease];
//AnotherObject will be release at end of main runloop
[[NotAutoreleased alloc] init];
//will leak past runloop iteration
is that understanding correct?