Thread.Sleep() in theory should no stop your application from responding toother Threads, i.e. the main one. Where as Thread.Join().Thread.Join() will ensure that a thread has terminated, in theory, blockingthe call thread indefinatly, until the calling thread terminates.