Aaron What will happen is that the variable obj will refer to the newly created object of type SomeObject. The original object that it refered to will become eligible for garbage collection and at some point the GC will destroy it and reclaim the memory that it used. The new object doesn't replace the other one in memory the location of the new one will replace the location of the original one in the varialbe obj. Did that answer it for you?
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com