Leon v Wyk wrote: //e.StoragePosistion this.BeginInvoke( new NewSMSReceived( this.OnNewSMSReceived) ); This becomes (I removed all the 'this.', I find it weird): Invoke(new MethodInvoker(OnNewSMSReceived), new object[] { your variables go here }); Other alternative would be using properties, since you're on different threads, but will be invoking methods on the same object ('this.'). Yes, even I am blogging now!