Which part of a DB bulk insert takes the most time?
The database page cache is written to disk during the commit. But even that is fast because the OS writes to its own cache. What takes the most time is, at the end of the commit, waiting for the data to be actually written to disk (FlushFileBuffers()).

If you want to minimize the overall time needed for a transaction, you have to limit the amount of data.

Alternatively, consider using asynchronous writes by enabling WAL mode.