I have the code below to query records from a stored procedure but am concerned I may not be disposing what I need to or am disposing when the object would be cleared by the
To make a long story short; if it implements IDisposable, you should call Dispose.
Even if you use Reflector to figure out that Dispose in one object invokes Dispose on another object, I would still recommend to call Dispose on both, since this is internal implementation details that may change in some future release, so you should not rely on that always being true.
So, Dispose anything that is IDisposable.