This error message you get tipically when you call a method on a control from other than the UI thread. You said you don't write multi threaded code in that app, but there are scenarios when the runtime creates new threads implicitly for you, with Async Delegates for example. So first try to find out if that's the case, by getting the HashCode of the CurrentThread (C#: MessageBox.Show(Thread.CurrentThread.GetHashCode().ToString()); )

If this is the case you should use Invoke or BeginInvoke.
(BeginInvoke = Async and Invoke = Sync)