This happens during a race condition where clusters sharing the DVS have NSX installed on one cluster but the other cluster doesn't have NSX installed yet. When the cleanup task is triggered on the cluster that is not prepared for NSX yet, it considers that the TNP and TZ of other cluster sharing the DVS as stale and tries to delete them.
Log for reference
INFO PolicyClusterResourcesCleanupTaskScheduler1 PolicyServiceImpl 88267 POLICY [nsx@6876 comp="nsx-manager" level="INFO" subcomp="manager"] Marked for delete entity Segment{type=DISCONNECTED, lsId='null', subnets=null, domainName='null', l2Extension=null, labels=null, overlayId=null, connectivityPath='null', tier0LabelPath='null', transportZonePath='/infra/sites/default/enforcement-points/default/transport-zones/#####-####-####-####-####', vlanIds=null, advancedConfig=SegmentAdvancedConfig{addressPoolPaths=null, hybrid=false, interRouter=null, localEgress=null, uplinkTeamingPolicyName=null, localEgressRoutingPolicies=null, urpfMode=STRICT, ndraProfilePath=null, originId=#####-####-####-####-####:dvportgroup-####, originType=VCENTER, nodeLocalSwitch=null, multicast=true, isBackplane=null} ConnectivityAdvancedConfig{connectivity='null'}, l2VpnPathPreviousStateList=[], connectivityPathPreviousState=, segmentTypePathPreviousState=, forceDelete=false, federationConfig=null, metadataProxyPaths=null, dhcpConfigPath=null, bridgeProfiles=null, addressBindingEntryList=null, adminState=UP, macPoolId=null, replicationMode=MTEP, evpnStatus=false, evpnTenantConfigPath=null, vniPoolPath=null, extraConfigs=null, org=null, project=null, vpc=null, tepGroupDisabled=false} [policyPath=/infra/segments/####-####-####-####-####:dvportgroup-####, markedForDelete=true]
The issue is resolved in VMware NSX 4.2.
If you are unable to upgrade to resolve this issue, please open a support request.