The simplest way to do this and truly pause everything is by overriding this.tick on your app. What I do is store a reference to this.tick on pause and then set it to () => {}.
On resume, I set this.tick back to the old reference and call this.app.tick().
Works like a charm and sends resource consumption down to nearly 0.
Caveat: this still doesn’t pause sounds. For that you’ll want to fire pause and resume events on your app and handle accordingly wherever you’re using sound.