internal static GCHandle CreateDelegateInvocation(WaitCallback waitDelegate, Object state) { Object[] delegateCallToken = new Object[2]; delegateCallToken[0] = waitDelegate; delegateCallToken[1] = state; return System.Runtime.InteropServices.GCHandle.Alloc(delegateCallToken); }