生成したインスタンスを、GCにたよることなく
自分から破棄(メモリ開放)したいのですが
何か方法はあるのでしょうか?

swingで円や四角の図形を使ってプログラムを組んでいるのですが、
そこで描画とマウスの扱いの為に使う自前のクラスのインスタンスが
repaint()等を呼び出しても
そのインスタンスがいつまでも消えず問題になっています。
つまり、再描画はされており一見問題ないようにみえるけれども
マウスの処理が残っているため、動作において問題になっている
という状況です。

実際問題としては不必要なのですが
処理上ではまだ動作しているようなので、
GCなどでは破棄されません。
また、そのクラスのインスタンスが生成され続けると
動作に問題が出るだけでなくメモリがどんどん埋まっていく可能性があります。