オブジェクトの複製をします。コールバックを呼び出しています。オブジェクトが出来てしまっています。オブジェクトの開放時に、メソッドテーブルが割り当てられているかどうかのチェック無しに、rb_free_m_table(RCLASS_M_TBL(obj));とし、メソッドテーブルを開放しようとします。吐いてしまうようです。位置は次のような感じです。メソッドテーブルの解放前にメソッドテーブルが割り当てられているかどうかのチェックをするかの2つがあります。オブジェクトの初期化とコールバックの呼び出しを共に行うような処理が他に無いとも限らないので、obj_free側に手を加えるのがいいと思います。本メール末尾にそのようなパッチを添付しておきます。参考にしていただければ幸いです。