Hello,
The PropertyGrid.SortComparer is what determines how items are sorted. It flows down to the TypeDescriptorFactory.SortDataModels virtual method that uses the sort comparer, if available, to sort the child data models at each level. Setting the SortComparer to null will effectively disable default sorting.
If I set PropertyGrid.SortComparer to null in our PropertyGrid Getting Started QuickStart, I see the Misc category (those properties without categories set) appearing first. It could just be based on which property reflects first when sorting is disabled, that determines which category (its category) appears first.
If you would like to customize sorting behavior, you can create a class that inherits DataModelSortComparer, override the logic in that comparer's virtual methods, and set an instance of your class to PropertyGrid.SortComparer.