No debe intentar llamar a getWritableDatabase() o getReadableDatabase() de SQLiteOpenHelper métodos de ciclo de vida como onCreate() o métodos llamados desde allí. Eso fallará con una excepción "llamada recursivamente".
En su lugar, utilice la SQLiteDatabase que se da como parámetro a onCreate() u otros métodos de ciclo de vida.