I think the issue you are experiencing is due to the way SQL Server handles committing the transaction. When in batch mode, we have multiple isolated transactions, because they only involve a small set of records you don't notice a delay when SQL commits the transaction.
However, if you are not using batch mode, because of the amount of data your are processing, SQL Server takes longer to complete the transaction commit, which is why you are experiencing this. Out of interest, how long is the wait you are experiencing?
Could I ask, why does batch mode not work for you?