Application called an interface that was marshalled for a different thread? - C#