Great write-up!
I didn’t know about Regex objects, but come to think of it, it makes sense for the VM to “freeze” them since they are immutable anyway.
I guess memory would be released faster back to the OS in Ruby 1.9 since the collector is neither generational nor incremental (as it is in Ruby 2.2).