The answer differs depending on the Operating system, but in the NT family
(Nt, Win 2000, XP), the following APIs (declared in psapi.h) are used:
OpenProcess
EnumProcessModule
GetModuleBaseName
You can get more information by using a reflection tool on System.dll
reflector
Here is a link to Lutz Roeder's reflector : http://www.aisto.com/roeder/dotnet/
Not sure where you get this from or what version of the framework you are
looking at, but in v1.1 it uses registry based perflib counter data,
definitely not the psapi helper library.