Is the PSW.KeepAlive(True) that you have in your above code the *ONLY* keepalive in your app?
It looks like your app is a Game, so that it shouldn't be doing anything in the background right?
You can try adding a:
Right before the PWS.KeepAlive(True) in your Activity_Resume sub above.
And then place:
Right before the PWS.ReleaseKeepAlive in your Activity_Pause sub above.
Then operate your app and switch away from it and then back to it and switch away again.
The LOG entries should stay in sync so then when you switch away from your app, the last LOG entry should say "RELEASE".
If you see a "KEEPALIVE" and your app is in the background, then that means something triggered your Activity_Resume sometime after it ran the PWS.Release line and you need to find out why.