どこからも参照されなくなったオブジェクトがGCに回収されることを確かめてみようと
a = 'hoge'
p id = a.object_id
a = nil
GC.start
p ObjectSpace.each_object.find{|e| e.object_id == id}
とかすると
いつまでたっても ObjectSpaceから'hoge'が見つかる
a = String.new('hoge')
だと、Stringオブジェクトはすぐに回収されてみつけられなくなる
リテラルから直に生成されるStringオブジェクトは特別なんだろうか?