Offset: The maximum offset is 2,000 rows(returned result). Requesting an offset greater than 2,000 will result in a
Limit: There is no restriction on limit. It's limited to the context in which it's used. If it's used in Apex code it's limited to the total governor limit for SOQL rows, which is currently 50,000. If it's used in a query via the Web Service API then there is no limit.
The issue you're running into appears solely to be an issue with using the
OFFSET clause and
Check the following link for Limit,Offset workaround:
Workaround for Offset 2000 limit on SOQL Query