Две функции, которые могут оказаться полезными:
GC.GetTotalMemory();
Process.PagedMemorySize64();
Мой опыт показывает, что GC.GetTotalMemory () не очень надежна. Он часто сообщает об использовании памяти, которое намного меньше, чем фактическое использование памяти. Я видел сообщение о том, что я использую только 8 гигабайт, когда моей программе не хватает памяти на компьютере с 16 гигабайтами.
Я еще не тестировал Process.PagedMemorySize64, хотя выглядит многообещающе.