The Application Kit creates an autorelease pool on the main thread at the beginning of every cycle of the event loop.and drains it at the end, thereby releasing any autoreleased objects generated while processing an event. lf you use the Application Kit, you therefore typically don’t have to create your own pools. lf your application creates a lot of temporary autoreleased objects within the event loop, however. it may be beneficial to create “local” autoreleasepools to help to minimize the peak memory footprint!