You have to understand that "memory" on modern processors is an elaborate
fiction. What is shared between processes are the read-only code and data
segments of the image file. They are mapped to virtual locations in the
separate address spaces for the two processes. As execution passes through
the application, pages are loaded ("faulted") into memory as necessary. It
is entirely possible that not all of the code pages of an application will
reside in memory at any one time and further that each of the processes may
have some code pages loaded in memory that the other does not.
Just btw, why do you ask?