I solved it by creating a new dummy thread, make it wait for a few seconds and then return. (so the Control thread is not blocked).
turns out that webbrowser needs a small amount of time to actually render the page after final DocumentCompleted event is fired