It is correct behavior because the processor you're using utilizes large memory pages, and the memory sharing feature of ESX (transparent page sharing) can't share those large pages. That means that the VM will occupy host memory equal to what was assigned until you actually exceed the amount of memory in the ESXi. At that point it will automatically break up the large pages into smaller pages and begin sharing memory.
You can disable the use of large pages with an advanced setting in ESXi called Mem.AllocGuestLargePage. By default it is set to 1, but if you set it to 0 and reboot your virtual machines (reboot of the host isn't required) then they will begin to use small pages instaed. I wouldn't enable this as VMware has seen performance gains from using large pages even if the guest doesn't natively support it.
Read this thread for more info on this. It sounds like this is exactly what you're describing and again, based on the description above, it is expected behavior.
http://communities.vmware.com/message/1262016