Here's a quick way to get a clone of your serializable object in C#:
public static object GetClone(
object cloneThis)
{
BinaryFormatter bf =
new BinaryFormatter();
MemoryStream ms=
new MemoryStream();
bf.Serialize(ms, cloneThis);
ms.Flush();
ms.Position = 0;
return bf.Deserialize(ms);
}