The difference is subtle, and generally comes down to whether or not the value "makes sense". For this method, a negative value makes no sense at all. If you specify 1001 as the limit, the value makes sense but is not supported due to an arbitrarily set system limitation. If you look at this in the context of [the JSON checklist](https://github.com/sharwell/openstack.net/wiki/The-JSON-Checklist), `ArgumentOutOfRangeException` would only get thrown for *exclusive ranges*, where the upper limit of 1000 here is an *inclusive range*.