static int x = 10; //escopo desta classe tempo de vida da aplicação static void Main() //só existe dentro desta classe { StringBuilder t; //vive por toda função { //inicia um novo escopo var y = new Teste(); //variável e objeto têm escopo e tempo de vida deste bloco x = y.Metodo(3); //este x nada tem a ver com o x da outra classe, nem poderia t = y.txt; //o texto ainda viverá } //y morre aqui, seu objeto precisa viver mais porque tem uma referência para ele WriteLine(t); //o texto 0123456789 será impresso, ainda vive //não é possível acessar o conteúdo de y mais, mesmo o objeto estando vivo //o escopo acabou,só a referência previamente existente ainda pode acessar o objeto } //aqui morre t e finalmente o objeto criado por new Teste()