allocations before running 'extra loop'

The code:
// loading items to the array, there are no memory warnings after this is completed. The first allocations screenshot is after this code and before extra loop code. NSMutableArray *albumCovers = [[NSMutableArray alloc] init]; for (MPMediaQuery *query in queries) { NSArray *allCollections = [query collections]; for (MPMediaItemCollection *collection in allCollections) { MPMediaItemArtwork *value = [collection.representativeItem valueForProperty:MPMediaItemPropertyArtwork]; UIImage *image = [value imageWithSize:CGSizeMake(100, 100)]; if (image) { [albumCovers addObject:image]; } } } } _mediaCollections = [NSArray arrayWithArray:artworkedCollections]; _albumCovers = [NSArray arrayWithArray:albumCovers]; }
And somewhere else:
// !!!!! extra loop - from here the memory starts to grow and never release for (i=0; i< 800; i++) { UIImage * coverImage = [_albumCovers objectAtIndex:indexPath.row]; [veryTemp setImage:coverImage]; // exactly this line adds to the memory. with this line commented, there is no problem. }
allocations after running 'extra loop'

and to clarify, call stack with only-obj-c on and system libraries off (if i turn them on, the highest % is 0.9% per heaviest method)

I've made some research, and found at stackoverflow, that these VM:ImageIO_PNG_Data
are usually comming from [UIImage imageNamed:]
, however as you can see i don't use this method, i'm just getting the reference from MPMediaItemCollection
.