hage.Dispose()でhage自身が解放対象となりましたっけ?
分かりづらいので>>482 のクソコードを少し訂正して配列にしてみます

×Hoge hage; // hage定義
○double[] hage; // hage定義

× if(n==0) { /* hage初期化 */ }
○ if(n==0) { hage = new double[3840*2160]; /* hage初期化 */ }