You're "global" class object is just a reference to your local object. Whatever operations you perform on your global object, also get performed on your local object (and vice-versa). Think of your global object as a pointer to your local object, not a copy of the object.
In order to do what you are wanting, you need to create a method to "deep copy" the tree node collection.
Look at the solution here[
^]. There are other ways to do it, using serialization and memory streams, but I think you should opt for something simple.
BTW, all objects in C# (.NET) act the same way, you are passing around object references, not entire new objects.