not sure about that particular effect but you may want to check some of the lazy loaders out there, or those that are part of a cache/optimization plugin …..
Couple of caveats:
The majority of these plugins seem to only work on page initial load, which can lead to missing images when using Infinite Load / Load more that uses Ajax ( like the GP Blog and WP Show Posts does )….
You want one that allows you to omit images by filename or CSS class so they don’t mess with your logos and other static branding.
Nothing jumps out immediately – but you’re changing the standard behaviour of how images are output and filtering the_content() which does introduce possible conflicts with how other plugins/functions operate…..