I came under similar situation as you did, and hence, I was able to delete it by following the steps below. In the below lines, I will write my experience, and it might suit you too.
TLDR: verify and delete the subnet delegation, it's the culprit.
a) Inspect if subnet delegation exists:
az network vnet subnet show \
-g <ResourceGroup> \
--vnet-name <VnetName> \
-n <SubnetName> \
--query "delegations"
and if you see something like below, this is the cultprit that is blocking deletion.
{
"serviceName": "Microsoft.DBforMySQL/flexibleServers",
"name": "Microsoft.DBforMySQLFlexibleServersDelegation"
}
b) Delete the delegation:
az network vnet subnet update \
-g <ResourceGroup> \
--vnet-name <VnetName> \
-n <SubnetName> \
--remove delegations
c) Rerun (a) to see if the delegation has been removed
d) Retry deletion of the Virtual Network
az network vnet delete \
-g <ResourceGroup> \
-n <VnetName>
Hope this helps. if this works for you, please hit the "Accepted" Answer.