The documentation appears to be incorrect. After looking at the code and debugging it, I found that it does not treat the size parameter for each size/distance pair as a threshold, it simply selects the distance associated with the size that is closest to the size of the object.
For example, if your size/distance array is (100, 1000) and (200, 2000), then all object sized smaller than 150 will cull at 1000, and any object sized over 150 will cull at 2000. In the example you gave, ALL objects will cull at 1000, regardless of size.
Also, there is an explicit check in the code that excludes non-static primitives from consideration.