public
y private
los modificadores de acceso solo tienen que ver con la visibilidad de esas estructuras (clases, método o variables) a otras clases dentro de la misma aplicación. La protección de la memoria entre los procesos y los usuarios es impuesta por el sistema operativo. En el caso de Windows, garantiza que los procesos/subprocesos de nivel no de administrador (y anillo de sistema) no tengan acceso a la memoria que no está explícitamente compartida (como la memoria compartida) con permisos abiertos. En realidad, Windows permite que los procesos otorguen derechos muy específicos a áreas específicas de la memoria, pero esto no se proporciona en la definición de lenguaje de C#. Necesitará acceder a las API del sistema para controlar otorgar ese tipo de acceso a bloques específicos de memoria; de forma predeterminada, todos los bloques de memoria están protegidos por el sistema operativo.
Ahora, si el escáner de memoria se ejecuta en anillo-0 o con privilegios elevados específicos, no hay nada que pueda hacer en su proceso para bloquear ese acceso.
Parece que su compañero de trabajo tiene una comprensión pobre de la programación orientada a objetos y es posible que desee adquirir algún material básico de lectura para que pueda comenzar a comprender la naturaleza de la programación. – thaBadDawg