ナイーブな GC はメモリが足りなくなったときに発動して、
それでも足りなければ領域を伸ばすという方法を取る。
(どの程度伸ばすのが良いかは諸説ある。)

最初にガッっとメモリを使ってあとはそれほどでもない
というプログラムは効率が悪いかもしれない。
それも GC の設計によるので一概には言えないけど。

いずれにせよ、まずは処理系のクセを把握することが必要。