Windows フォーム アプリケーションの非同期性について説明している MS ドキュメントのこのページには、次のように記載されています。
必要に応じて、EndInvoke を呼び出してデリゲートから戻り値を取得できますが、これは必須ではありません。(強調追加)
非同期デリゲートの一般的なケースをカバーするこのページでは、別のことが述べられています。
どの手法を使用する場合でも、必ず EndInvoke を呼び出して非同期呼び出しを完了してください。
この二つは真っ向から対立しているようです。
どれが本当ですか? 誰か説明できますか?
Phil Haack による投稿も参照してください。