Java - problema de memoria (OutOfMemory)

boas.

tenho um programa com a seguinte estrutura

class Program{
JPanel panel = new JPanel();
public list(){

while (condition){
JLabel label = new JLabel(“name”);
JButton button = new JButton(“Button”);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
detail(cod);
}});
panel.add(button,borderLayout.west);
panel.add(label,borderLayout.center);
}
}
public detail(int cod){

panel.removeAll();
JButton button = new JButton(“Go Back”);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
list();
}});
panel.add(button);
}}

sempre que clico no botao “Go Back” a memoria do processo javaw.exe aumenta, até a um ponto em que da o erro OutOfMemory.

Alguem me pode ajudar ?

Obrigado

Cara com esse código pela metade fica mais dificil, mas veja se vc não está tentando intanciar a classe que tem o Main, outra classe chamando o main da erro de memória tipo


public class ClassePrincipal{


public  static void main(String a[]){

}

}

class OutraCalsse{
ClassePrincipal pl= new ClassePrincipal();

}