個人的にはたぶん、setCursor()を呼び出すたびに、
新しくpaneに貼り付けてるのではないかという気がしています。
例えば、
pane.setCursor(new Cursor(WAIT.DEFAULT_CURSOR));
のあと、このWAIT.DEFAULT_CURSORを解除する、あるいは、
さっき張り付けたアイコンをpaneからはがすみたいなことが出来れば、
問題が解決する気もするのですけど、どうなのでしょうか?