I believe the timer runs it's own thread. even if you unload the form, the timer is still running.

I tried the second part of code (where Timer1.Enabled = False, etc) and that works for me too.

Actually, the first code snippet worked too. Hmmm....