idが被る

実行環境
 OS : MacOSX 10.5.7
 ruby : 1.8.6

objs = []
strs = []

100000.times do |i|
	objs << Object.new.object_id.to_s
	strs << String.new.object_id.to_s
	print objs[i], " ", strs[i], " ",  i, "\r\n"
end

print objs.uniq.size, " ", strs.uniq.size, "\r\n"

実行結果

83590 83570 0
83490 83470 1
83390 83370 2
83290 83270 3
83190 83170 4
(中略)
19040 19020 1588
18900 18860 1589
18740 18710 1590
18510 18480 1591
298740 298720 1592
298640 298620 1593
298540 298520 1594
298440 298420 1595
(中略)
11825380 11825360 99995
11825280 11825260 99996
11825180 11825160 99997
11825080 11825060 99998
11824980 11824960 99999
80635 74379

 という風になった。
 10万個のObjectとStringのインスタンスを作って、オブジェクトのidを配列にいれ、表示させました。一番最後の行で配列中の重複を削除しています。
 たくさんのオブジェクトを作るとidが被るみたいです。
 ちなみに、何回実行しても最後の数は同じになりました。


 対策が思いつかないので誰か教えてください。