When you add a Timer to your code, IMMEDIATELY place a "TimerX.Enabled = False" statement somewhere in your Activity_Pause Sub.
Timers do not stop operating on Activity_Pause automatically, such that, if you have an orientation change and you don't disable ALL of your active Timers, a Timer_Tick event will occur after you've re-established your screen in the new orientation. This "unexpected" Timer Tick may then occur when views that are associated with that timer tick have not been re-loaded in a layout or otherwise re-initialized, leading to an error.
I have known about the need to disable timers during Activity_Pause since starting a game App I've been working on for the past two years, and there were two timers that I use throughout the App that I did disable in Activity_Pause. However, with the addition of an end-of-game panel that also uses a timer as a score-tallying mechanism, (which I added very recently), I had forgotten to disable that timer in Activity_Pause. While going through my final debugging of the App before putting it (soon) on the market, "all of a sudden" I was getting errors for an un-initialized panel during that end-of-game operation if I rotated the device while that Tally Panel was being shown. The error does not give any information about the associated Timer that has fired which eventually results in this kind of error. And the error seemed to not make any sense because the panel that was being cited in the error had nothing to do with the information/panels that were currently on the screen.
Stated another way, if you are receiving errors about un-initialized objects after an orientation change, always check that ALL Timers that you use get disabled in Activity_Pause.