In order to discard unused blocks on filesystem there is a command
fstrim, part of
But to use it on Virtualbox, it is needed to enable discard option on your virtual disk by stopping you VM and running the following command:
VBoxManage storageattach <VM name> --storagectl "SATA" --port 0 --discard on
where "SATA" and 0 are parameters of your disk controller, can be checked in VB settings for your specific VM.
Then boot your machine and run
# fstrim /
To automate this process, add this command to cron, once in a week is usually enough.