O thread de chamada não pode aceder a este objecto porque existe outro thread que já o tem
Application.Current.Dispatcher.BeginInvoke(
DispatcherPriority.Background,
new Action(() =>
button_proximo.RaiseEvent(new RoutedEventArgs(System.Windows.Controls.Primitives.ButtonBase.ClickEvent));
);