I am initially distrusting the results coming back from a perfmon collection against a process that appears to have a memory leak.
The Private Bytes value for the process is over a gig.
So I suspected Garbage collections were not able to clear down memory because something is holding a reference open like a collection etc.
However the .NET memory counters show unexpected values for Gen 0,1,2 heap size.
The values perfmon is bringing back for # Bytes in all heaps for example is only a few million bytes (i.e. a few MBs). Large Object Size is very small too.
I admit I am slightly baffled. I assume this means the memory allocation is outside of managed memory, or is it a bug?
#Edit
An important point I left out is that GC was not invoked for many weeks
I have a VMMap output I captured a week or so ago, I am wary of running VMMap in prod again, so I cannot capture again (unless anyone is aware how safe VMMap is?)
My VMMap showed close to 900,000 KB size for the managed heap with over 500,000 KB Private Bytes which stuck me as odd when I saw the perfmon values.