It seems like ARC is calling [[obj retain] autorelease], when assigning like
Foo* foo = [Foo getInstance]
Thats why I have to add a pool there, if it's happening on a BG thread.
@autoreleasepool
{
Foo* foo = [Foo getInstance]
}
Does ARC do retain-autorelease combo for any object ref in the method, that is not explicitly created/copied (init/copy)?