Я думаю, что вы можете использовать это для доступной памяти, то же самое для других
PerformanceCounter availableBytes = new PerformanceCounter("Memory","Available Bytes", true);
double numBytes = availableBytes.RawValue / 1024 /1024; // Mb
availableBytes.Close();
Или вы можете добавить справочную Visual Basic & Add Microsoft.VisualBasic.Devices
для этого кода
var Available = new ComputerInfo().AvailablePhysicalMemory;
var Total = new ComputerInfo().TotalPhysicalMemory;