С Документация
public static System.Runtime.Remoting.ObjectHandle CreateInstance (string assemblyName, string typeName);
Вызов метода CreateInstance возвращает тип "ObjectHandle", который не может быть преобразован в "I", Activator.CreateInstance(null, myClassName) as I
всегда будет возвращать ноль.
Вам нужно развернуть объект
public static void Main()
{
ObjectHandle handle = Activator.CreateInstance("PersonInfo", "Person");
Person p = (Person) handle.Unwrap();
p.Name = "Samuel";
Console.WriteLine(p);
}