Garbage Colletor

Classe1 ref = new Classe1( );

Esta linha de código cria um objeto do tipo Classe1 na memória e cria também a referência de nome ref para manipulá-lo …

  1. Para que o Garbage Coletor possa remover esta classe é necessário eu igual a referência a null certo ?
ex: ref = null 
  1. Agora se além de ref existir uma outra referência:

Classe1 ref = new Classe1( ); ref2 = ref; ref = null;

após a execução do trecho acima, o objeto continua a existir certo ? a única coisa que ocorreu é que ref não aponta mais para o objeto, mas ref2 sim né ? para o objeto ser removido eu teria que igualar ref2=null …

sim