Yes, gameObject is just another name in my code for Phaser.Game.
And createRotatingBackground is an object of type Phaser.Group holding two instances of Phaser.Image which is the background image.
pause() and resume() methods in the createRotatingBackground are methods that are called inside Phaser.State.update() which control if the rotating background should start moving and what to happen when the first bg. image crossed the screen scrolling towards left and what to happen when the second bg. image crossed the screen scrolling towards left
Since I added separate gamePaused boolean flag and not using Phaser.Game.paused flag at all, I was able to overcome the recursion problem. But if necessary I am able to reproduce the problem again.
It seems, setting Phaser.Game.paused = false in a method that was called when onPause event was called causes the recursion.