ExecuteReaderAsync extension returns task with exception if exception thrown