Use of Async/Await for EventHandlers
The things to consider when it comes to async event handlers are:


Exceptions thrown for the handler might be rethrown on the UI SynchronizationContext, which usually crashes the application.
After you raise the event, the handlers won't be completed yet. The execution of a handler might be interleaved with the execution of the code after the raising and execution of multiple handlers can also be interleaved with each other.


Assuming those caveats are acceptable for you, code like this should be fine.



Also:

view.OnRefreshObjectExplorerClicked += new EventHandler(async (s, e) =&gt; await RefreshObjectExplorerAsync());


You should be able to simplify this to just:

view.OnRefreshObjectExplorerClicked += async (s, e) =&gt; await RefreshObjectExplorerAsync();




It seems you never unsubscribe the event handlers, are you sure that's okay?