So this week we found out that Xamarin iOS GC doesn't actually know how big a UIImage is, it just knows that it exists (pointers yay). This means that it's often somewhat reluctant to dispose of the object due to the size of the UIImage technically being rather small.
This is sort of similar to
BitmapData in Adobe AIR. The simple solution? Make sure to clean it up as soon as possible or at least when the view disappears.