In the following code MessageReceived is on a different thread to label1 and when trying to access it I will get this error:
MessageReceived
label1
Delegate updating the label to the thread that created the label instead of trying to update it directly.