I a have a code where a data is processed in a long loop. Code is implemented a OOP class and all the memory is preallocated. Processing is going well until I suddenly I run out of memory. I started monitoring memory usage using "memory" function user.MemUsedMATLAB and class size never changes, but user.MaxPossibleArrayBytes seems to oscillate a lot with occasional spikes where minimum MaxPossibleArrayBytes goes to fraction of the median value. During one of such spikes my code crashes when minimum goes to 0.01% of the median value.
I am not sure how to debug this kind of issue or what might be causing it. I am running on a machine with 24 cores and 32 Gb of memory.