Confused by private bytes!
Currently analysing the memory usage of our C# .NET application with ANTS profiler. Here are our findings taken after start-up with the main form visible on screen. No other functionality has been used.
Gen 0 Heap - 5.8MB
Gen 1 Heap - 2.5MB
Gen 2 Heap - 13.9MB
Bytes in all Heaps - 17MB
Large Object Heap - 0.7MB
Private Bytes - 130MB
Working Set - 150MB
If the bytes in all heaps is only 17MB why do we have such a large private bytes allocation? Are private bytes allocated by the system or does private bytes start at zero expanded as it get's filled by the software? i.e. is private bytes a bubble which may in fact only be partially used? If so, what determines it's size?