I have a class Team that holds a generic list:
[DataContract(Name = \"TeamDTO\", IsReference = true)]
public class Team
{
[DataMember]
private IList&
It sounds like your WCF service reference is creating a proxy class rather than using the existing type. Proxy classes can only use simple arrays and not any .NET specific types like the generic List.
To avoid this proxy class conversion, in the Add Service Reference screen, click the Advanced button, and then make sure "Reuse types in referenced assemblies" is checked. This will ensure that the existing class (with the generic List) is used when serializing and deserializing the object.