Using an ExpandableObjectConverter on a Generic class for a PropertyGrid
See the question and my original answer on StackOverflowYou can get the type from the context, like this (in your SteppedValue case, it's the first generic type):
Type steppedValueType = iTypeDescriptorContext.PropertyDescriptor.PropertyType.GetGenericArguments()[0];