エラーではなく、警告です。マネージコードのデバッガーの拡張機能であるマネージデバッグアシスタント(MDA)によって生成され、コードに問題が発生していると見なします。靴がフィットします。RCWを使用している場合、WebBrowserはCOMコントロールです。あなたはRCWを殺し、フォームを閉じています。MDAは、Webブラウザーが使用中であることを確認しており、要求が完了する前に強制終了されたと見なすため、介入します。これは通常、コードでスレッドを使用している場合にのみ意味があります。
あなたは?そうでない場合は、その上で睡眠を失うことはありません。COMは、循環参照を解決できないことで有名な参照カウントを使用します。
さて、コメントによって可能になった、これの再現を得ました。はい、これはフォームのCancelButtonプロパティまたはボタンのDialogResultプロパティによってトリガーされます。これは、WBにフォーカスがあり、エスケープキーが押されていることを確認したときに発生します。ActiveX配管の一部は、副作用があるはずのキーストロークに応答できるように、コンテナにそのことを通知することです。ショートカットキーストローク、Tab、Enter。そして脱出。次にボタンがフォームを閉じると、デバッガーは、スタックにRCWコードからのアクティブなスタックフレームがある間、WBが破棄されていることを確認します。危険なのは、COMコンポーネントがリリースされてから呼び出されたコードが戻ったときにクラッシュが発生する可能性があることですが、これは珍しいことではありません。
このクラッシュが発生する可能性はほとんどありませんが、ボタンのClickイベントが戻る直前にファイナライザースレッドが実行されると、これが爆破される可能性があると想像できます。MDAと潜在的なクラッシュの回避策は、ActiveXコードの実行が停止するまでフォームを閉じるのを遅らせることです。Control.BeginInvoke()でエレガントに実行されます。このような:
private void CancelButton_Click(object sender, EventArgs e) {
this.BeginInvoke((MethodInvoker)delegate { this.Close(); });
}