Work around a bug in MonoMac/XamarinMac when invoking code on UI thread

Current editions of MonoMac/XamarinMac have a bug which will cause async invocation on UI thread to fail. This commit works around the issue (and is also a perfectly legit way of calling code on UI thread)