Exactly! There's a ton of open source projects on Github for image caching (specifically for the example I gave regarding UITableViewControllers). If you have a long list of images, or a list of large images, the app will run out of memory pretty quickly. So you absolutely need to write images to disk when they're off screen and read them back either when they're almost on screen or when they are on screen (you'll see this in the form of a fade in/alpha effect usually).
The only thing you get from iOS is a memory warning (there are three levels of memory warnings, but you don't get the levels in iOS in the low memory warning method as a parameter... only as text in debug mode to console, which is frustrating) at which point you're supposed to flush caches from memory, remove any views from view hierarchies that aren't visible, etc.
I thought that the stuttering/lag on iPhone 6 Plus was *all* GPU related. And I do think most of it is given the downscaling that's going on. But after taking a look at the choose wallpaper UITableViewController, which should not be stuttering at all (Apple's table views almost always scroll at 60fps), it appears that there's some interrupts going on that are memory related (i.e. swapping between RAM and Disk with very large image sizes, although you'd assume you're viewing thumbnails of the wallpapers).
Just some speculation on my part. I've written (and crashed) enough apps that had to deal with strict memory constraints and it's definitely one of the pain points of programming for iOS.
Which does nothing to the original topic. I mean let's say as some suggest add double the ram. Then it will still happen in those circumstances. I don't see anything particularly unusual about this.