Also try adding an httpRuntime section to the web.config to override the MaxRequestLength, which defaults to a maximum upload size of 4 meg. Here it's set to 100 meg:
<system.web>
<httpRuntime maxRequestLength="102400"/>
</system.web>
It's possible that the problem could be a timeout, although I'd expect a TimeoutException to be received rather than the vanilla CommunicationException. You can modify the send and receive timeout defaults (which are 1 minute for a send and 10 minutes for a receive) using the <binding> element:
<binding name="customBinaryBinding"
receiveTimeout="00:10:00"
sendTimeout="00:01:00">