if (!hoge.IsDisposed && hoge.Fuga.Piyo) { ...って、リソースが残ってるかチェックした上で判定するはずがif (!hoge.IsDisposed & hoge.Fuga.Piyo)になっちゃって、「リソースが残ってて」なおかつ「リソースの中身のFugaのPiyoが...」になっちゃって「Fugaの中身なんてもう残ってねーよ例外」になっちゃうお約束なやつ><
思考の /dev/null