Acceda al límite de inserción de transacciones de base de datos

¿Hay un límite en la cantidad de inserciones que puede hacer dentro de una transacción de Access antes de que deba confirmar o antes de que Access / Jet arroje un error?

Actualmente estoy ejecutando el siguiente código con la esperanza de determinar cuál es este máximo.

OleDbConnection cn =
                new OleDbConnection(
                    @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\temp\myAccessFile.accdb;Persist Security Info=False;");
            try
            {
                cn.Open();
                oleCommand = new OleDbCommand("BEGIN TRANSACTION", cn);               
                oleCommand.ExecuteNonQuery();    
                oleCommand.CommandText =
                            "insert into [table1] (name) values ('1000000000001000000000000010000000000000')";

                for (i = 0; i < 25000000; i++)
                {
                    oleCommand.ExecuteNonQuery();
                }                

                oleCommand.CommandText = "COMMIT";
                oleCommand.ExecuteNonQuery();
            }
            catch (Exception ex)
            {

            }
            finally
            {
                try
                {

                    oleCommand.CommandText = "COMMIT";
                    oleCommand.ExecuteNonQuery();                    
                }

                catch{}

                if (cn.State != ConnectionState.Closed)
                {
                    cn.Close();
                }
            }

El error que recibí en una aplicación de producción cuando llegué a 2,333,920 inserciones en una transacción no confirmada fue: "Se superó el recuento de bloqueos de archivos compartidos. Aumentar la entrada de registro MaxLocksPerFile". Deshabilitar transacciones solucionó este problema.

Respuestas a la pregunta(2)

Su respuesta a la pregunta