Intento de SQLite de escribir un error de base de datos de solo lectura

Tengo una aplicación de consola que llena una base de datos SQLite. Cuando la aplicación se ejecuta sola, no recibo ningún error. Si ejecuto varias instancias de la aplicación, donde cada aplicación está en su propia carpeta y cada una llena su propia base de datos, ocasionalmente obtendré la siguiente excepción:

System.Data.SQLite.SQLiteException (0x80004005): Attempt to write a read-only database
attempt to write a readonly database
   at System.Data.SQLite.SQLite3.Reset(SQLiteStatement stmt)
   at System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt)
   at System.Data.SQLite.SQLiteDataReader.NextResult()
   at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
   at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
   at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()

Sé que la base de datos no es de solo lectura porque ya ha escrito datos en esa base de datos. Además, la aplicación continúa y continuará poblando datos en esa base de datos. No he reproducido el error cuando solo se está ejecutando una sola instancia de la aplicación.

Intenté usar el pragma para tener tanto el journal como temp_store en la memoria en lugar de un archivo en caso de que pudiera haber alguna disputa entre las aplicaciones allí, pero aún recibo el error. Siempre obtengo el error en el mismo método, que es la primera vez que ocurre una inserción para la conexión. Para dar una idea general de lo que hace la aplicación, recorre los casos, recopila información sobre esos casos (no de SQLite), luego escribe los resultados en la base de datos SQLite.

No sé qué más probar.

* editar También estoy usando PRAGMA journal_mode = MEMORY. Al insertar datos en la base de datos SQLite, primero ejecuto una declaración BEGIN, luego un montón de inserciones antes de la declaración END. El error ocurre en la primera inserción.

Respuestas a la pregunta(2)

Su respuesta a la pregunta