No it's been very helpful. I was really only concerned about "List list" being passed between static methods and recursively. But each new call stack starting with GetList in the first example should have it's own instance of "List list". I appreciate your help.