Нет, он не использует WMI.Он использует прямые нативные вызовы API через внутренние классы в пространстве имен System.Win32 в mscorlib.dll и System.dll.Большинство классов, таких как PerformanceCounter и EventLog, просто получают доступ к реестру, который использует собственные вызовы advapi32.dll.Другие функции, такие как получение списка процессов, используют вызовы в winnt.dll или kernel32.dll в зависимости от версии Windows.Вы можете найти дополнительную информацию об используемых вызовах Win32 здесь и более подробную информацию о счетчиках производительности здесь .
Вы можете проверить это с помощью dotPeek или Reflector.NET и изучение System.Diagnostics в mscorlib.dll и System.dll.