Determine storage requirement for VirtualBox snapshot merge
What I have found is that you need at least the size of the snapshot in free space.

So, if you have a 20GB vdi and a 5GB snapshot that will make a 25GB vdi in the end, you need at least the 5GB.

What I suggest you do is move the snapshots to a different volume (like a USB drive), make symlinks to them, then do the merge.

For example...

Move the snapshot file to a mounted volume:

mv /VBM-Folder/Snapshots/{abcd12a3-de1a-9876-ab89-abcd1abvc5abc12a1}.vdi /Volumes/Some/Mounted/Folder


Then create the symlinks back to the original folder:

ln -s /Volumes/Some/Mounted/Folder/{abcd12a3-de1a-9876-ab89-abcd1abvc5abc12a1}.vdi /VBM-Folder/Snapshots


This, right off the bat should free up a bunch of space.  Once you do this, you can then "merge" the snapshots (in VBox, you have to delete them - it's not intuitive)