Actually, the limit of 100 recursions is a default.
From this page: https://msdn.microsoft.com/en-us/library/ms181714.aspx
It says, in part:
MAXRECURSION number (as I see that you have found) says:
Specifies the maximum number of recursions allowed for this query. number is a nonnegative integer between 0 and 32767. When 0 is specified, no limit is applied. If this option is not specified, the default limit for the server is 100.
When the specified or default number for MAXRECURSION limit is reached during query execution, the query is ended and an error is returned.
However, recursion may be more expensive than other methods.
Note: This does not need to be a server wide setting, since it can be a query hint. If you have your own function for this string parsing, then that function can use MAXRECURSION (0) without affecting other code that may use recursion.