I also get this error. One way of circunventing is by setting the boolean
CheckForIllegalCrossThreadCalls =
false;
I wonder if there is a safe way to call the refresh without having this problem. I suppose this problem comes from running C# 2005 and not if you run C# 2003.