I\'m trying to figure out why occasionally I\'m getting the IllegalStateException. I can\'t find any good examples that show how to load a list using a thread to query a SQ
Look into AsyncQueryHandler if you want to query DB the way you want.
Your task RetrieveCursorTask is running on separate thread so when your activity gets destroyed your AsyncTask might still be running in background but as you have closed your cursor in main activity onDestroy it might be requeried again after your AsyncTask returns.