When you return an allocated object from a method pass it as an autoreleased
object.
return [allContacts autorelease];
When you get an autoreleased
object you need to retain
it for further use:
So change the calling method like;
NSMutableArray *temp = [[YourClass selectAllContactsFromDB] retain];