Uso de memoria en Delphi

Obtener el uso de memoria real de un proceso es algo que dista de ser sencillo, en primer lugar por que no hay funciones especificas que determinen la cantidad exacta de memoria que usa un proceso y en segundo lugar porque es dificil contabilizar que memoria pertenece al proceso y q memoria no (por ejemplo una dll es una biblioteca de carga dinámica que se carga tan solo una vez en memoria de forma que la memoria consumida por la dll está o no incluida dentro de lo que consideramos espacio de memoria del proceso).