To reproduce: private void PopulateGrid() { this.radPropertyGrid1.SortOrder = System.Windows.Forms.SortOrder.Ascending; PropertyStoreItem myRadProp; RadPropertyStore myRadProperties = new RadPropertyStore(); for (int i = 0; i <= 6000; i++) { myRadProp = new PropertyStoreItem(typeof(string), "PropName" + i, "Value" + i, "Help" + i, "same"); myRadProperties.Add(myRadProp); } radPropertyGrid1.SelectedObject = myRadProperties; } Workaround: public Form1() { InitializeComponent(); radPropertyGrid1.PropertyGridElement.PropertyTableElement.ListSource.CollectionView.GroupFactory = new MyPropertyGridGroupFactory(this.radPropertyGrid1.PropertyGridElement.PropertyTableElement); this.radPropertyGrid1.SortOrder = System.Windows.Forms.SortOrder.Ascending; PropertyStoreItem myRadProp; RadPropertyStore myRadProperties = new RadPropertyStore(); for (int i = 0; i <= 6000; i++) { myRadProp = new PropertyStoreItem(typeof(string), "PropName" + i, "Value" + i, "Help" + i, "same"); myRadProperties.Add(myRadProp); } this.radPropertyGrid1.PropertyGridElement.PropertyTableElement.ListSource.BeginUpdate(); radPropertyGrid1.SelectedObject = myRadProperties; this.radPropertyGrid1.PropertyGridElement.PropertyTableElement.ListSource.EndUpdate(); } public class MyPropertyGridGroupFactory : IGroupFactory<PropertyGridItem> { private PropertyGridTableElement propertyGridElement; public MyPropertyGridGroupFactory(PropertyGridTableElement propertyGridElement) { this.propertyGridElement = propertyGridElement; } public GroupCollection<PropertyGridItem> CreateCollection(IList<Group<PropertyGridItem>> list) { return new PropertyGridGroupCollection(list); } public Group<PropertyGridItem> CreateGroup(object key, Group<PropertyGridItem> parent, params object[] metaData) { return new MyPropertyGridGroup(key, parent, this.propertyGridElement); } } public class MyPropertyGridGroup : PropertyGridGroup { private List<PropertyGridItem> items; public MyPropertyGridGroup(object key, Group<PropertyGridItem> parent, PropertyGridTableElement propertyGridElement) : base(key, parent, propertyGridElement) { } protected override IList<PropertyGridItem> Items { get { if (this.items == null) { this.items = new List<PropertyGridItem>(); } return this.items; } } }