スタックを小さくするのは、単にアドレス空間の枯渇を防ぐためですよ。

例えば某OSのデフォルトだと、スタックは1スレッドあたり10M程。
ということは、32bit環境では、どんなに頑張っても
400スレッド(事実上200以下)しか出来ないわけですね。

これを増やすために、1スレッドのサイズを減らすということで。