There is no limit parameter. there is only max results and max results is more like per page.
If a request will return 100 rows, and you place maxresults 50 then the first response you will get back will contain 50 rows. You will have to make a second request to get the next 50.
Google tasks.list returns a response
{
"kind": "tasks#tasks",
"etag": string,
"nextPageToken": string,
"items": [
tasks Resource
]
}
This is a response for the request made at this exact time. If you had sent maxresults 50 and 100 rows would be returned then you use NextPageToken to get the next 50 rows for this request.
If after you run that request new records arrive into the system those records will not come in the previous request because that is the data built at the time the request was sent.
Example:
I make a request against the API. I set max rows to 1
1, test
2, test2
3, test3
the API will return to me 1, test
with a nextPageToken I can use to get the next set of results. I make a request using the NextPageToken I get 2, test2
If while I am looping though these NextPagetokens
a new row arrives 4, test4
I will not see this because it wasn't part of the result set of my initial query.