これは俺が実際にはまったところです。
JREだと問題なく動くというのも確認しているんで俺のコーディングミスではないはず。

1は悲惨。こういう書き方するとひどいことになります。
メモリ使用量だけじゃなく、ハンドルも増加し続けるしね。
 (new Thread() {
   public void run() {
     ...
   }
 }).start();

メモリーリークと言っても、すぐにプロセスが終了するようなものであれば
そんなに気にすることもないと思います。俺が書いていたのは
24時間365日常駐するプロセスだったのでメモリーリークが問題になりました。

4は一番最初に遭遇する問題だと思うけど…。SimpleDateFormat や
Calendar.getInstance() を使用する場合に必要になりますよ。

>>17 は社内でなんか便利なツールでも作ったの?
であれば JRE はなんとかインストールしてもらって
jar ダブルクリック起動がいいと思うけど。