Text object is also saved. That's why saving takes longer time with each click, even if you clear the dictionary.
You can add an object (like an invisible sprite) with NoSave behavior, and store the SaveStateJSON in its instance variable.
You can go even further - store Dictionary.AsJSON in this sprite's instance variable. Clear the dictionary before saving, then save, then on Save Complete load the dictionary from the sprite and add a new SavedStateJSON record in it.