Firstly. just let me say I love Play Doctor and use it most days. It's a great concept. But I'm having the same duplicates issue too and I'm also using the latest version of MC 23.
One thing I have noticed is that although there are a few duplicates in the original 100 tracks (provided the scope of the seed is not too narrow), the main problem starts when Play Doctor starts adding extra tracks once the earlier ones are played. This is where I see most of the duplicates coming in.
I have the duplicate name filtering set up correctly and I also have a setting to prevent songs being selected if they have already been played in the last 30 days. Play Doctor generally seems to take notice of these settings when building the original list but not when adding to the list during play. It is particularly bad at adding multiple copies of seed tracks that have already been played. It's as if it takes a snapshot when the list is first created and never refreshes it to account for what has just been played. For example, with my filter settings a track that has just been played should not be played again for a month - but they are frequently added back into playlist breaking both the 'Name' and 'Last played' filter rules.
So perhaps one of the developers could take a look to see if Play Doctor is using the latest refreshed values of the various track attributes when selecting tracks to add to the list. This may remove a major source of track duplication.