Hmm ... that is the wierd thing. It works fine for me w/o putting the delay in and I've tried it on my home and work PC. I'm wondering if you have updated your .Net framework to the latest version. Maybe, there lies the problem.

If that still does not solve your problem, I'd suggest to try out 3rd party component. There are bunch out there and some of them are pretty cheap