There is a parameter in the web.config file that controls the maximum number of elements that can be returned by the request:
<setting name="Query.MaxItems" value="100" />
The default value is 100, so I'm not quite sure why your query returns only 50, maybe someone changed the setting?
Also, be careful when hitting performance when returning more than 100 items. Depending on your equipment and the overall Sitecore architecture, this may not be so noticeable, but you just have to be careful.
source share