This might help you No, it won't work. Static in VB.Net is syntactic sugar that hides a hidden shared variable at the class level in a thread-safe way. Since a shared class variable would be, well, shared for all users of that page at once, this would not work at all how you hoped. Instead, store your datetime field in the session and check that. Also remember that the timer itself is running on the client (assuming you're using an ajax timer control). So the only way to disable it is during a server event, such as when your Tick event fires.
What happens if a calculation within a Timer Tick, takes longer than the Tick length?
around this issue As mentioned in the comments for the question, the System.Windows.Forms.Timer will queue the Tick events, blocking the UI thread if all Tick events take longer than the set interval. The event will continue to calculate for as long as it needs, regardless of the interval time.
Android: Will a Timer tick regardless of the previous tick not yet being finished?
Does that help The answer is very simple: no it doesn't. Although the TimerTask runs in it own thread it doesn't start a new tick before the other tick finishes. You can validate this by using a test code like this and check the logcat for output.