「GC がかき集めて〜」 のところの落とし穴ってのは、さんざん既出だけど
『どのタイミングで回収されるか分からない』 って点。

本当に GC に任せていいのなら、Input/OutputStream の close とか Frame の dispose は要らない。