@tadd GCの件はバグではないと思っています。
遅くなる現象はプロセスの起動からしばらくしてからしか起きず、応答時間以外にはScoutで監視してるRubyプロセスのみのメモリ利用量くらいしか同時に変化のあるメトリクスをみつけられませんでした。この現象の頻度はRUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTORとRUBY_GC_OLDMALLOC_LIMITをgc.cの2倍に設定して下り、RUBY_GC_OLDMALLOC_LIMITをさらに2倍(デフォルトの4倍)にして出なくなりました。なので、full GCで遅くなっていたと解釈しています。
弊ぼっちは恒常的にスワップを使っているのでGCによる速度の低下の影響が十分メモリのある環境と比べて非常に大きいと推測されるので、一般的に対処の必要な現象ではないと思っています。
Ruby 3.1と3.2の違いを把握できてるわけではないので、もし確認するとすれば、3.1でRUBY_GC_OLDMALLOC_LIMITを小さくして同じ現象が見られるか試してみたい気がします。