Have an app in the store - 10K users. Using the same algorithm for years to download objects, convert them to ManagedObjects, then save them in a context.
Been using the exact same Objective-C code for over 5 years - no changes.
We build the app with Xcode 15.1, release it a few weeks ago, then slowly start getting reports of the app won't boot.
Run the app in 15.1, look at memory usage, and it's a flat line up. But the code is littered with autorelease statements. For this download, max memory was 2.3G! No wonder so many users crashing!
[Worked two weekends straight to get this fixed, but why did it happen???]
The last developer told me he added those to reduce memory pressure, and that they worked for him. (Unfortunately no old memory usage graphs).
But look at the attached image - memory usage increments in a straight line - no saw tooth where memory would get released.
Oh, and this is in one runloop on the main thread (don't blame me, I didn't write the original code!):