Ainda não tenho certeza do porquê (irei fazer o acompanhamento se tiver tempo), mas não faça isso:
-(void)layoutSubviews {
NSData *imageData = [[NSData alloc] initWithContentsOfURL:imageURL];
UIImage *image = [[UIImage alloc] initWithData:imageData];
imageData = nil;
imageView.image = image;
image = nil;
// put the imageView somewhere or something
}
Esse NSData não será recuperado conforme o esperado (estou assumindo o ARC). Se uma visão precisar renderizar um UIImageView de um arquivo de imagem, coloque-o na memória fora do código de renderização da visão.