This question is sort of a sequel to that question.
When we want to build a WCF service which works with some kind of data, it\'s natural that we want it to be fast
I use Json.Net's implementation of Bson in my RIA application. More info here.
I yield return an IEnumerable, as I read from the database and serialize the rows. I find the speed to be acceptable and I return Entities with roughly 20 properties. This approach should minimize the concurrent memory use on the server.