Caveat: I don't really know what I'm talking about, but-
Main consideration: Dicts don't allow duplicates. This could stop the creation of a new playthrough that has the same name in its tracks (I assume it just fails. Unless it overwrites?) regardless of whether any other validation has occurred
I've run across one situation (because I was using your new saves with my old code) where it created copies of the same entry in persistent.playthroughslist continuously until I killed it with Task Manager. This wouldn't stop it looping, but might stop it filling persistent with thousands of redundant entries, thus avoiding the need for a persistent wipe
I considered Set(), but Dicts are ordered, so a playthrough moved to the last slot should stay there
I see you've already gotten the playthrough class ready to go in persistent
I considered storing a playthrough's SaveInfo in there, but we can't be sure it would stay current
Caveat: I don't really know what I'm talking about, but-
persistent.playthroughslist
continuously until I killed it with Task Manager. This wouldn't stop it looping, but might stop it filling persistent with thousands of redundant entries, thus avoiding the need for a persistent wipe