Recently I was facing another issue with BulkInsert from my console to D365, using ExecuteMultiple. As per the documentation on MSDN, ExecuteMultiple has run-time limitation to have maximum batch-size of 1000.
However, I was facing time-out issue for 999.
Turns out, I need to specify a smaller batch size to overcome this issue.
Specifying batch size as 500 was working fine for me.