Understanding the Prototype Creational Pattern in C#