Tecnicamente falando os dois terão um objeto na memória e nenhum dos dois será temporário, pelo fato que você mencionou da forma de instânciação.
As duas formas estão corretas? SIM, mas particularmente gosto da primeira, porque, terei o acesso a variável teste e posso executar outros métodos, já no segundo não tem como pegar a instância, e a sua instância não será temporária, será igual a do primeiro jeito.
Vai ter o mesmo efeito, pois você não faz nada com a variável teste após invocar o método, ou seja, teste também é um objeto temporário.
Você só vai deixar teste alocado se você referenciar o objeto em mais locais, senão, terminado a execução de seu método, assim que o GC tiver um tempinho, ele desaloca o objeto que havia sido instanciado.
Dica: instância e objeto são sinônimos.
Você não atribui uma intância a um objeto.
Um objeto é uma intância de uma classe.