Problem when saving data through a button.

I have a problem when mass-saving data from game objects.

My game Loads and Saves perfectly through keys (As in, all objects with info I want to save, save with F7, and load with F8).

However today I made a GUI menu, and when the save button is pressed, Unity freezes for a few minutes. It eventually saves, but it takes a lot of time, and it froze a couple times, losing me a fair bit of work. Now, I doubt this is due to having to save a lot of data, since it saves instantly with F7, and it has to save no more than 30 objects. Wanted to know if you could spot a problem in the way I’m doing this.

My setup is as it follows.

I have a MenuSystemScript that is static : public static MenuSystemScript Only { get; set; }
Then I have about 20 copies of the same object with this line in Update(): MenuSystemScript.Only.SaveButton.onClick.AddListener(Save);

They have the save function they are executing, which is fairly standard and works fine when it’s prompted by a keypress.

Any help is welcome!

Sorry, I’m very new at this.
The reason I’m using listeners is because, I want the button to tell each object with the save() method to execute it, so I thought they had to be listening. How would I do it otherwise?