Verlitry, Вопрос. Зачем каждый раз создавать новый объект если можно использовать ссылку на уже созданый ранее? Или в этом и смысл. Как вариант такая конструкция в классе Мейн
public void setCurrent(Canvas can){
Displayable d =display.getCurrent();
display.setCurrent(can);
d=null;
}
Но это нифига не лечени твоей болезни. Если будеш по сто раз создавать новые объекты, они будут потреблять память. Используй один, если надо, пересоздавай его. Почитай про повторное использование объектов, так же есть смысл посмотреть на реализацию через наследование