Firstly I would setup tracing on your wcf service:
http://msdn.microsoft.com/en-us/library/ms733025.aspx[
^]
Once this is in place you can see the logs generated and you get a better idea of the actual problem.
It would also be worth adding the following:
1) setting the max object graph in the endpoint behavior and service behavior
<servicebehaviors>
<behavior name="EmailWCFServiceTypeBehaviors">
<datacontractserializer maxitemsinobjectgraph="2147483647" />
<servicemetadata httpgetenabled="True" />
<servicedebug includeexceptiondetailinfaults="True" />
</behavior>
</servicebehaviors>
<endpointbehaviors>
<behavior name="endpointBehavior">
<datacontractserializer maxitemsinobjectgraph="2147483647" />
</behavior>
</endpointbehaviors>
2) set the endpoint and service to use the behaviors.
3) optionally increase the http request timeout.
<system.web>
<httpruntime executiontimeout="180" />
</system.web>