I wanted to just link my previous post about this, but I could not find it. (BTW: thank you for using the search, I found a ton of good threads about this) ...
* space can be pre-allocated, so the full memory is shown as used, even if the VM sees it differently
* free space inside of a VM is only shown as free (for Windows OS) and that does not mean anything for the guest.
* virtual devices need ram
* the processes around these devices need ram
* the processes around each virtual cpu need ram
* the processes around each VM in general need ram
* disk cache (anything else than none) will need ram (this can be big)