Creo que lo pudieras hacer con serializacion. Guardas el objeto y luego lo lees en el objeto que seria la copa. Esta es una posibilidad que no he probado...
quizas este articulo te sea de ayuda http://www.ondotnet.com/pub/a/dotnet/2002/11/25/copying.html
y cuentanos de lo que has descubierto.