When VMFS is deleted, blocks are still mapped in the backing array. Upon re-creation into VMFS6, there's no efficient way for VMFS6 to know which blocks were earlier mapped by the VMFS volume. Therefore, VMFS6 will only unmap those blocks that are mapped (written) and then unmapped after creating VMFS6 volume.
Resolution
There are two options to prevent this.
Option 1
Delete the data from the original VMFS datastore
Manually unmap the datastore
Delete the datastore
Format the same lun as VMFS6 and create new datastore
Option 2
Do not use the same LUN again for a new VMFS6 datastore.
On a fresh LUN, as there is nothing mapped, VMFS6 auto-unmap is efficient in unmapping the blocks written and unmapped in VMFS6.
Workaround
If the new VMFS6 datastore has already been created on a previously used LUN, write data to the datastore by creating an eager zeroed thick vm disk or using dd utility to create a bogus file so that datastores usage reaches 100%. Then delete that disk/file and now auto-unmap will work as expected.
Additional Information
There are other causes for auto-unmap failing. Please see the following KBs: