Cloning C# objects is one of those things that appears easy but is actually quite complicated with many "gotchas." This article describes the most common ways to clone a C# object.
The below article is so good for understanding what's the differences between clone and shadow in .net.
it also will go throw sample implementation with nice examples
hope you enjoy it.
http://developerscon.blogspot.com/2008/06/c-object-clone-wars.html
http://msdn.microsoft.com/en-us/library/system.object.memberwiseclone.aspx