If you want the memory of the entire running process and not on a per thread basis, how about:
// get the current process
Process currentProcess = System.Diagnostics.Process.GetCurrentProcess();
// get the physical mem usage
long totalBytesOfMemoryUsed = currentProcess.WorkingSet64;
There’s a whole host of other process memory properties besides WorkingSet64
check out the “memory related” ones at the following link for the one that best suit
http://msdn.microsoft.com/en-us/library/system.diagnostics.process_properties.aspx