Los objetos más básicos en .Net no tienen datos de usuario, solo información de la plataforma interna sobre su tipo y la ubicación en memoria de sus datos reales. Desde el punto de vista del usuario (desarrollador), 'solo existen' y solo difieren en su 'identidad'. Su clase no se puede extender de ninguna manera. No veo ningún sentido clonar nada.
Los objetos más complicados se derivan de algo y, en última instancia, se derivan del objeto base. No hay construcción de copias ni semántica de copia profunda en .Net, por lo que a nivel de objetos no básicos, no tiene sentido clonar nada.
En el nivel de metadatos, cada objeto lleva información sobre a qué clase (s) pertenece. La metainformación se comparte y todos los objetos de la misma clase solo apuntan a la metainformación compartida. Todavía no tiene sentido clonar nada.
Por lo tanto, me sorprendería mucho si la creación de objetos se realizó de forma prototipo-clonación. No lo sé con absoluta certeza, pero apuesto a que no lo es. Estoy casi seguro de que la creación de objetos es solo la asignación de bloques de memoria pequeños y tal vez establecer algunos punteros dentro de su encabezado.
Ciertamente es verificable si alguien * NGEN * s algo de código y desmonta para ver cómo funciona la nueva() operador :)
+1 por usar sweet latin :) – RedFilter
+1 por pregunta poco común e interesante – quetzalcoatl
@RedFilter: ¿Qué sabor o sabor son amargos? – BoltClock