Interesting problem, I took a crack at it.
for _,v in pairs(game.Workspace:GetDescendants()) do
if v:IsA("BasePart") and not v:IsA("Terrain") then
for _,vv in pairs(v:GetTouchingParts()) do
if v.CFrame == vv.CFrame then
vv:Destroy()
end
end
end
end
Save a backup in-case, of course. This will go through everything, get the things it’s touching, and if it’s touching something with the same CFrame as itself it will delete it. You can extend the similarities to check first if you’d like, I just used CFrame as that encompasses location + rotation