The disadvantage of Thread.Sleep is that it is called in your GUI thread (a thread that processes GUI events, for example, a button handler method or a method called using a button click handler, etc.), then you will freeze the application and doesn't respond to those 15 seconds.
It would be great if you explicitly created a separate thread and named Thread.Sleep in it, assuming that you don't mind the thread doing nothing for 15 seconds.
An alternative would be to create a timer and start it after stmt 2 and put stmt 3 in the Tick event handler for the timer, and also stop the timer in this handler.
AaronLS
source share