nesse caso vc está referenciando a um novo objeto a variavel… mais a referencia anterior é perdida.
String nome = new String("camilo");
nome.concat("lopes"); // isso aqui é perdido certo? nao tem nenhuma referencia
//mais isso aqui nao é perdido
nome = nome.concat("lopes"); // tem referencia
Agora nao sei a respeito de outros objetos que nao sejam String.
Teoricamente, quando vc seta null para um objeto, vc está dizendo ao garbage collector que ele é elegivel a ser destruido. Neste caso, em condições normais de temperatura e pressão, vc não tem mais a referencia dele.