私はついに解決策を見つけました。最初の部分は、ターゲットフレームワークを4.0から以前のバージョンに変更することでした。これにより、以前に消費されて私から隠されていたコントロールがブランクになったときに発生していた例外が明らかになりました。
System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at System.Windows.Forms.UnsafeNativeMethods.IOleInPlaceSite.OnUIActivate()
at System.Windows.Forms.Control.ActiveXImpl.InPlaceActivate(Int32 verb)
at System.Windows.Forms.Control.ActiveXImpl.OnFocus(Boolean focus)
at System.Windows.Forms.Control.ChildGotFocus(Control child)
at System.Windows.Forms.Control.OnGotFocus(EventArgs e)
at System.Windows.Forms.Control.WmSetFocus(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
そこから、Googleサイドバーで発生したのと同じ問題に遭遇したtomasvdbによる投稿を見つけることができました。
このメッセージにリンクされたその投稿への返信の1つは、サイドバーアプリケーションが無効なデータを.netコントロールに送信していたバグの回避策を提供しました。
コントロールのVisibleChanged
イベントハンドラーでその回避策メソッドを呼び出すと、私の問題も解決しました。