public class MyObject : IDisposable { public string id; public MyObject(string id, bool throwException) { if (throwException) { //Environment.Exit(100); Recursive(1000); } else { this.id = id; Console.WriteLine("Objecto {0} construido ", id); } } public void Dispose() { Console.WriteLine("Dispose {0}", id); } static void Recursive(int value) { Recursive(++value); } } class Program { static void Main(string[] args) { using (MyObject obj1 = new MyObject("Uno", false), obj2 = new MyObject("Dos", true)) { Console.WriteLine("Hemos entrado en el using"); } Console.ReadLine(); } }