Fix creation before you fix the backlog. Most duplicates come from a sync or an integration creating records that don't match, so tighten matching at the entry points first, then merge the existing set and give the team a visible in-app warning at creation time.
Sync-created duplicates are the specific pattern to look for when two systems each think they own record creation. Merging without closing that path means the count rebuilds within a quarter. Pair the merge with enablement — when the duplicate warning appears, it usually means the record already exists.
Every claim above comes from work LeanScale published. These are the sources.