This page in the MS documentation, covering asynchrony in Windows Forms applications, states:
You can call EndInvoke to retrieve the return value from the delegate, if neccesary, but this is not required. (emphasis added)
This page covering the general case of asynchronous delegates, states something different:
No matter which technique you use, always call EndInvoke to complete your asynchronous call.
These two seem to be in direct conflict.
Which is true? Can someone explain?
see also, a post by Phil Haack.
Related: Is EndInvoke optional, sort-of optional, definitely not optional?