PrivateMemorySize64 represents your personal memory, not just a private working set, which is the amount of private memory that is not currently being uploaded to disk.
If you want to know the total size of your process, you should use the VirtualMemorySize64 property. It takes into account all the memory allocated by your process, regardless of whether this memory is loaded or in RAM. This is useful, for example, to find out if your 32-bit process is approaching 2 GB of virtual size (process address space), which is usually the limit for a 32-bit process (unless you use the / 3GB option on a 32-bit Windows or an application runs on a 64-bit version of Windows and has a large address).
source share