First i dont know if changing the way i use threading is infact more efficient or not. Second I dont know how the problem has been fixed by these changes, third o dont know why my app had no crash on threads crash before changing method but now it has. Next i have no idea that what is the best way to handle threads crash from main code to continue where its left of.