It's also possible that the hypervisor shrink utility will only remove contiguous free space from the end of the virtual disk if the space contains bytes that have been set to
0x0
, i.e. overwritten using something like SysInternals
secure delete utility.