常盤です。

すいません、なかむら(う)様の指摘どおりでした。
GC.startを入れると劇的に改善されました。
GC.startを入れるのは1度試したのですが、
ensure節に書いていなかったために例外で飛ばれていたようです。

> > また、スクリプト中の適当な場所に GC.start を入れるとどうなる
> > でしょうか?
> 
> 各スレッドの終わりに入れてみましたが、あまり変わりませんでした。
> 

[作成時刻:1月5日(水)午後10時]

--------
常盤亮太