А, ну кароч чтобы не было крашей БД нужно все операции crud делать через посредника ( кастомную модель ). Аля: данные получаешь от БД, потом мапишь их на на свою модель и уже с ней работаешь
Краши могут быть когда ты с нескольких потоков обращаешься к ManageObject ссылке и на каком-то потоке может что-то случайно затереться/измениться и фаталэррор выбьет