Estaba probando un nivel de mi juego de navecitas y todo marchaba bien hasta que me dio hambre y mejor decidi prepararme el desayuno, asi que deje el juego corriendo en el PC  y cuando regrese me di cuenta que el juego habia crasheado por falta de memoria
estas son mis preguntas:
la funcion game_restart no elimina la data de nuestro juego?
si no lo hace entonces para que sirve esta funcion?
si al final hay que hacerlo nosotros mismos en que casos recomiendan el uso de esta funcion?

game_restart() reinicia por completo el juego.
Su función es que tras que la partida concluya permitir empezar de cero sin necesidad de cerrar y volver a abrir el juego.

https://manual-es.yoyogames.com/GameMaker_Language/GML_Reference/General_Game_Control/game_restart.htm

La función game_restart no reinicia el juego de 0, varios elementos se mantienen entre reinicios. Si vas a utilizarla es importante saber que se mantiene para limpiarlo manualmente.