title: Large Object Heap Fragmentation, Issues with arrays
body: <p>I am writing an analysis application in C# that has to deal with a lot of memory. I use ANTS Memory Profiler 7.4 for optimizing my memory management. While doing so, I realized that all of my double[,] arrays I use (and i need them) are placed on the LOH although the largest of these arrays is about 24.000 bytes. Objects should not be put there before 85.000 bytes as far as I know. The problem is now, that since I have about several thousand instances of these double[,] arrays I have a lot of memory fragmentation (about 25% of my total memory usage is free memory that I can not use). some of these arrays stored on the LOH are even only 1.036 bytes in size. The problem is that sometimes I have to perform larger analysis and then I end up with an out of memory exception because of the massive memory loss due to LOH fragmentation.</p>
  
  <p>Does anyone know why this is happening although it should not be a large object by definition?</p>
  
  <p><img src="https://i.stack.imgur.com/NGU8m.png" alt="Memroy snapshot of my application using ANTS Memory Profiler"></p>
  
  <p><img src="https://i.stack.imgur.com/Fkmqn.png" alt="small double arrays are also affected by this (only 70 elements in the array)"></p>