From my understanding of the Unity C# garbage collector, it sounds like a bad pattern to allocate large (multiple MB) byte arrays regularly, say every couple of minutes during auto-save, even if they returned to GC shortly after being used, because Unity's GC never defragments memory.
If there are any smaller allocations afterwards that take up the space allocated for that byte array, the next time an array of a similar size or larger is requested it might have to take up some new space on the heap, and this would keep happening and the heap would grow continuously.
Would you guys agree that this is a problem and something like this shouldn't be done, and that memory should be reserved and reused instead of allocated each time