Существует отличный пакет под названием SysInternals. одним из компонентов внутри является Process Monitor (procmon). Используйте его для того, чтобы проверить, какое приложение блокирует ваши файлы базы данных, и если 2 экземпляра вашего приложения «борются» за получение блокировки файлов БД.
В Sqlite несколько процессов могут читать из файлов БД, но только одному разрешено вносить изменения (INSERT / UPDATE / DELETE) в определенное время. если более чем один процесс пытается изменить БД одновременно, вы получите эту ошибку. Вы можете использовать Mutex для синхронизации между процессами, обращающимися к БД.
Кстати, документация sqlite рекомендует избегать использования базы данных из нескольких потоков. Чтобы гарантировать, что только один поток будет одновременно обращаться к БД, вы можете создать статический класс, который будет выполнять все взаимодействие с базой данных и использовать операторы блокировки внутри этого класса, чтобы избежать одновременного доступа к БД из нескольких потоков.