Thin provisioning has been a feature within VMWare Workstation and VMWare ESXi Server for quite some while. To manage the growth of space use/reuse within a VMWare VMDK for VMWare Workstation, one usually periodically compresses the VMDK. Of course, such compression requires a shutdown of the virtual machine.
With ESXi Server based VMDKs, what I have found is that I have a preference for using Thin Provisioning, because when I take a snapshot, I follow taking such a snapshot by copying the VMDK to either another local or remote storage media, and of course such copying takes much less time with thinly provisioned VMDKs. The copy of the VMDK is a logical copy, not a physical copy; meaning only the in-use data blocks get copied, with one noted exception. This exception happens to be how free space is identified and re-used. If a utility like SDELETE is used periodically to zero out the free space within the VMDK then such free space is not copied to the destination location. For example; if after executing SDELETE used space is 25% of the VMDK, then the destination VMDK will occupy only 25% of the VMDK provisioned size. Also, the source thinly provisioned VMDK may have grown to the full thinly provisioned size.
I generally allow my ESXi Server thinly provisioned VMDKs to grow to the full thinly provisioned size, and of course this requires that the production VMDKs will require the provisioned size, however there is tremendous advantage during the copying/backup process, as noted above.