[LibGDX] Quadros problemáticos

Isso acontece porque você tenta descartar recursos que foram descartados.

batch.dispose();
stage
.dispose();

Do código-fonte da classe Stage

public void dispose () {
if (ownsBatch) batch.dispose();
}

Exceção de JVM será dada se seu lote for referência do SpriteBatch do Stage. (O ímpar é alto, raramente criamos um novo SpriteBatch se usarmos o Stage)

A solução? Chame dispose () uma vez na referência de stage ou spritebatch.