Виртуальная память - это адресное пространство, выделенное вашим приложением от вызовов типа malloc. Это не значит, что он использует столько физической памяти. Например, все библиотеки (libSystem, ...), на которые ссылается ваше приложение, размещаются в разделяемой памяти, которая является частью вашей виртуальной памяти.
Хорошее объяснение типов памяти можно найти в помощи приложения «Activity Monitor». Есть также отличное сообщение в блоге от Майка Эша.