とてもいまさらだけど。
Scalaにはデストラクタがない
そう思っていた時期が俺にもありました。C++だとnewしたものはdeleteしないとメモリリークを起こすという話を聞いて、で、Scalaにはそういうクローズ作業が要らないと思っていたんですね。デストラクタが必要ないというのは、単にGCしているだけで、クローズ作業が必要な場合があるようです。
それがこんな感じ。(↓のサイトを参考にしました)
この場合、ファイルのクローズ作業が必要で、それをやらないとプログラム自体が失敗してファイル書き込みをやらなくなる。