This is repeatedly called to wait for the current ITaskWaiter to finish, redirecting to the results page once the task finishes.
This is normally called from the WaitPage, specifically from the PageLoad function - it determines whether the Task has finished, by querying the ITaskWaiter. If it hasn't finished, it sets the waiting message on the wait page (via the IWaitPage passed in), and sets a Refresh HttpHeader so that the WaitPage refreshes itself, and calls DoWait again. If it has finished, it will get the ITaskWaiter to fire the NotifyResultsReady event (the handler of which typically will set a flag which the results page can read) and redirects to the result page.