It used to be that the Shown event of ProgressDialogImpl was used to trigger the start of the task. This proved unreliable. This timer is a backup for cases where OnShown doesn't happen due to exceptions being thrown during the dialogs inital message pumping.