Ok, not that angry now... Treecap limit? there is no real limit, is there?
There is no limit on the treecap, and random is just math.random(val1,val2), but it tends to create very similar numbers, the random is pseudo random, or dependtant on different variables on the computer to make a random value, this might be why you see the same behaviour

Try enlarge the treecap number from 2,4 to 2,20 and see if there are difference, if there is, then you have nothing wrong in the code

Else, we must investigate this closer, despite my depression :/