Mi videojuego se traba despues de jugar 35 niveles

los pongo en contexto, estoy haciendo un videojuego y asta el momento tengo 15 niveles(el videojuego es estilo mario run solo se mueve hacia la derecha y puede saltar, los niveles son definidos no se generan aleatoriamente, el piso lo cree con sprites de 200x200 y cada nivel tiene una extencion en el eje X de hasta 35 mil, en Y no es mucho maximo es 800, la maxima cantidad de instancias cada nivel es de 450 en promedio, tambien tengo dos fondos de pantalla como paisaje en cada nivel esos son muy grandes como de 1000x2400 en pixeles y en peso solo es de 400kilobites.)
bueno lo que pasa es que cuando estoy probando el videojuego en mi celular el juego funciona bien, juego los niveles del 1 al 15 seguidos y funciona bien despues vuelvo a iniciar a jugar del 1 en adelante hasta llegar a el 15 o traves y funciona bien, el problema biene cuando buelbo a iniciar por tercera vez desde el nivel 1, el videjuego se empiesa a trabar y a dar tirones mientras juego, tambien he notado que el telefono se calienta mucho, esto para con 2 celulares, lo prove con un tercer celular y con este puedo jugar lo cuatro veces mas de tiempo sin que pase esto, no se si son las caracteristicas telefono o por que estoy gastando mucho rendimiento en cosas que no deveria dentro del codigo. entonces no se, que me podrian recomendar para obtimisar mi videojuego, he visto que hay unos programas que reducen el peso de las imagenes hasta un 30% creen que eso pueda servir???

Puede ser problemas con la optimización en los eventos, mírate este video