Please note that the C# SDK isn't going to be aroudn forever: https://community.alteryx.com/t5/Alteryx-Designer-Knowledge-Base/C-NET-SDK-Deprecation-Announcement-...
With that said, my guess is the nRecordLimit is not something you set, rather is something you limit against... e.g.
int nRecordsProcessed = 0;
while (nRecordsProcessed < nRecordLimit)
{
// create record object
...
// push record object
...
// increment nRecordsProcessed
nRecordsProcessed++;
}
... in this pseudcode, nRecordLimit is basically already there. Note; my answer is based on samples provided with the C++ API... I'm assuming the C# API is similar in concept.