Over the past several months we've been very busy porting our Android- and Windows-based 3D Capturing app to iOS. We have quite a bit of OpenGL (ES) code that needed to be migrated. After a couple of initial hiccups things appeared to work well, however something was off. OpenGL code that's fast and completely unproblematic on Win/Android caused weird CPU stalls and after some minutes of app usage typically everything just crashed. After some digging and debugging it became clear that certain OpenGL function calls were leaking memory like crazy, as in several MB per call. Concretely I'm talking about glBlitFramebuffer() and glCopyTex(Sub)Image2D() . Both of these operate on frame buffers (memory that's often as large as your app window size) and they were internally allocating new buffers on every call and apparently never freed them.
Now of course this is iOS and the article is talking about MacOS but it's quite likely that Apple derived their M1-targeted OpenGL implementation for MacOS from the iOS version which has always targeted Apple SoCs.
Given the amount of OpenGL-based software still out there and Apple's deprecation of OpenGL in favour of Metal (they just don't seem to care any more) those kinds of large scale memory leaks don't really surprise me. OpenGL is still pretty much everywhere and if you have bad memory leaks in core framebuffer operations things start to accumulate very quickly.