This is day-1 behavior for the VMware ESX product and was a deliberate design decision. We strive to avoid causing customer data loss under any circumstances and it was decided that ESX should never delete a VM base disk as a side-effect of another operation (such as removing all snapshots).
In ESX 8.0U3 a new per-host advanced option called blockDiskRemoveIfSnapshot is added to address this issue. It defaults to false, but when set to true, users will be prevented from removing disks from a VM that has snapshots, even if they choose to delete files. To set this, open the VC UI, navigate to the Configure tab for the host, open Advanced System Settings, and find the entry named Config.HostAgent.plugins.vmsvc.blockDiskRemoveIfSnapshot. For easy configuration of additional hosts, the Host Profile feature will automatically preserve the value of this option."
Enable option on host via VC UI
Navigate to Advanced System Settings in the VC UI:
Click the Edit button in the upper-right to bring up the edit dialog and navigate to the Config.HostAgent.plugins.vmsvc.blockDiskRemoveIfSnapshot entry:
Change false to true and click OK to save the changes.
Enable option on additional hosts via Host Profiles
Please refer this link for how host profiles work.
Enable blockDiskRemoveIfSnapshot first on some initial host per section 2.2.1.
Proceed to the Host Profiles page in the VC UI and export a Host Profile from that host:
Click on the newly-created profile and then click on Configure. Navigate to the following location in the hierarchy to double-check that bockDiskRemoveIfSnapshot is set to true (it won't appear here if it's still the default of false):
Apply the host profile to other hosts per the documentation. They should inherit the value of this setting.