The GC static class provides all this type of information.
Your probably after GC.GetTotalMemory().
EDIT:
I beleive that attempts to workout your memory footprint based on currently rooted objects.
IF you want the total size allocated for the process (i.e. including the free buffer) use the Process class. e.g.:
Process.GetCurrentProcess().WorkingSet64;