Please critique my Enumerable DataReader with yield and log data access pattern
Initially, I shared your concern over resource disposal.  My assumption was that there was the possibility the command could be left hanging around in cases where you did not enumerate over the entire collection (as with something like FirstOrDefault).

However, a few quick tests with a test project reveals that the using statement performs its clean-up as soon as you are done with the enumerator.  A LINQ statement or a foreach loop may only partially traverse the results, but they both still clean up the enumerator when exiting scope.

Keep in mind, though, that there is still potential confusion that might arise from the deferred execution of GetSomeData.  The command doesn't execute until you start enumerating the result.  If anything were to modify the data before between the time you call GetSomeData and when you enumerate the result, you could get different results than you expect.