It will be difficult for me to explain why it works. But they way we did it was pretty straight forward.
We had a project where we released 3742 NFTs. After an hour into the presale, we saw some messages popping up concerning the metadata and what the values were saying for the background key in the meta data. After we looked into, it turned out that the metadata was incorrect. This was because we need to change a name in the metadata for all tokens that had that value, so we ran a simple python script to quickly change everything…however this actually messed up the metadata a lot more, but we didn’t notice.
Once we had found out there was a problem, we started asking around trying to figure out what to do. Stale, of CNFT, had informed us that you could change the metadata of an NFT that wasn’t in your wallet by simply minting a duplicate (same asset name/policy id). Once you mint the duplicate, there are now 2 of the NFT. Then we burned the duplicate we had just minted and had possession of, and this in turn changed the metadata of the remaining NFT that was in someone else wallet.