In the event that someone has created their own type provider, I think it might be more accurate to have the property grid read from the type descriptor provider.
PropertyGridUtilities ( line:68 )
TypeDescriptionProvider provider = TypeDescriptor.GetProvider(instance);
descriptors = provider.GetTypeDescriptor(instance).GetProperties();
//TypeDescriptor.GetProperties(instance.GetType());
PropertyGridUtilities ( line:68 )
TypeDescriptionProvider provider = TypeDescriptor.GetProvider(instance);
descriptors = provider.GetTypeDescriptor(instance).GetProperties();
//TypeDescriptor.GetProperties(instance.GetType());