An System.IAsyncResult that can be used to poll, wait for results, or both is returned; this value is also needed when invoking
the EndExecuteReader(IAsyncResult) method, which returns an ULDataReader object that can be used to retrieve the returned
rows.