Um, maybe you should put your comparison in the ProgressChanged event handler, given that that is where you know the size of the remote file. You don't need a delay. You just need to structure your code sensibly.