GC.addRoot と GC.removeRoot を使うのはどうでしょ