自前のFreeOffscreen(...)内部での問題でした。
引き数で渡したGWorldPtrのアドレスにnilを入れたかったんですが、
スタックにコピーされたポインタのアドレスをnilっても
元のアドレスはnilらさってなくておこっていたC言語でのバグでした。

初期化のさいに使わないものにあらかじめnilを入れることで回避しました。