Check the ‘this’ pointer, it’s most likely not the same in both cases.
The reason you get both types of messages is because you have multiple instances of your GameInstance spawned. This is normal when you’re playing in the editor.
It’s difficult to tell from your description. If I were to guess, I’d say that your old GameInstance hasn’t been garbage collected yet and the timer lingers. Try clearing the timer when the GameInstance shuts down and see if that helps?
Instance of GameInstance also inherits FTickableGameObject and I don’t use timer. When I close the game window, default GameInstance Process should be destroyed, Am i wrong?