In iOS app development, we are using `NSAutoreleasePool` to relinquish ownership of objects at a later point in time. 

But why can it be shared between different threads?

Why do we need to create a new autoreleasepool when I wanted to use a new thread?

**EDIT:**

As taskinoor mentioned my question was why this is designed in such a way that each thread should have a separate autoreleasepool.