The issue you are running into is that our URL Encoded bulk import endpoint also has a data limit at 1.9MB. Here is a quote from the documentation for this endpoint:
Currently, we can add up to 1.9MB of encoded data in the string (about 2 million characters). Larger data strings should be broken up and added in batches.
The best method to resolve this is to place a limit on the number of contacts in a single batch before you split it into two parts and upload them separately.
If you have any questions, please let me know!
... View more