Для операций с базой данных я считаю, что лучше использовать асинхронный режим с потоком по умолчанию или потоком ввода-вывода.
Например, я работал над приложением, в котором я выполнял операции db sqlite в держателе представления связывания реселлера с режимом запуска в режиме Main. Поток как сопрограммы однако, делая это, мое представление переработчика сильно отставало, поэтому вместо использования запуска я перешел к асинхронности в Потоке по умолчанию для операций с БД, что также привело к повышению производительности.
Согласно ответу @MarkoTopolnik, я согласенс ним полностью, и в вашем случае может возникнуть проблема с многопоточностью при работе с sqlite, вам нужно быть точным в том, как все выполняется на самом деле.