It looks like you’re referring to the ClusterBase::limit_groupsize() method. As I read the method, if the limit parameter is greater than zero, you scan through the list of clusters, replacing them with the first /limit/ items of that cluster, or all members if there are less than /limit/ items.
If limit is -1 or zero, you skip the trimming step completely, so you keep the clusters exactly as they are to start with.
It looks like it’s been this way since at least version 3.2, although if you’re seeing “j<=limit", you may be working with a pre-3.2 version. (Although the intent of the method looks to be the same back to 3.0).