Take a look at InvokeOnMainThread or BeginInvokeOnMainThread
http://docs.xamarin.com/ios/Guides/Advanced_Topics/Threading#Developing_Responsive_Applications
NavigationController.BeginInvokeOnMainThread (delegate {
NavigationController.PushViewController (new TabBarController (), false);
});