Please don't mind me asking, but did you select the target virtual disk format in the wizard, and did you zero out unused blocks within the guest OS using e.g. sdelete as mentioned in the KB article?
What I am thinking of is:
- migrate the VM to another datstore, selecting "Thick Provisioned" as the target format
- run sdelete within the guest OS to zero out unused blocks
- migrate the VM back to the original datastore, selecting "Thin Provisioned" in the wizard
André