Eu resolvi este problema:
De fato era porque eu tinha referências circulares:
o usuário tem um grupo, e os grupos têm usuários, etc.
Eu resolvo este usando [DataContract (IsReference = retifica)] etiquetar em meus objetos de POCO, como mencionado aqui:
http://www.mostlydevelopers.com/mostlydevelopers/blog/post/2009/02/03/Fixing-WCF-Circular-Reference-Serialization.aspx