どうしたってメモリくうのは仕方ないだろうけど、
数十秒ごとにgcがくるってのはさすがに多すぎる気がしないでもない。

ゲームとはいえ、そのdrawString呼ぶところを無駄にぶん回しすぎてるんじゃないの?
もしくは >23 の指摘のように、ほかにおかしなところがあるとか。

どのくらいの勢いで空きメモリが減っているかを監視してみましょ。