Clicking Activate will change some variables and then go back to CommonEventMainPhase. Clicking Back will do the same.
That is where you are wrong and where you created the infinite loop that needs to be removed.
"Call common event main phase" does
NOT go back to the main phase, it calls a new subevent with a new main phase, stacking the main phase against the limit again and again.
Whereever you are in a submenu and have a call to the main phase there, you need to replace that call with an "exit event processing" to go back to the previously called main phase instead of calling a new subroutine.
However, in that case the main phase needs to be able to reclaim logic when the focus returns to it - so far you only restart the mainphase from the top by calling it again and again. It needs to loop instead.
If your logic is correct, the "call common event main phase" is used exactly once in your entire game project - at the moment when you want to start the menu and then never again.
EDIT: To clarify the sentence above, I just realised that it could be read wrong:
Your current logic is wrong. If you correct the logic into what it should be, then the command to call the main phase common event should only be used once in the entire game project, at the place where the menu is started. It should never be used inside any event of the menu itself, especially never be used in any subevent.