Is using Activator.CreateInstance an expensive operation? I happen to make it such that I would just pass the type of object then create an instance of it using the Activator.CreateInstance though I'm not quite sure of the drawbacks of using it if there is any...