The IAsyncResult implementation '{0}' tried to complete a single operation multiple times. This could be caused by an incorrect ...

The IAsyncResult implementation '{0}' tried to complete a single operation multiple times. This could be caused by an incorrect application IAsyncResult implementation or other extensibility code, such as an IAsyncResult that returns incorrect CompletedSynchronously values or invokes the AsyncCallback multiple times.