I was getting this error in the server side WCF trace messages. The weird thing was that the maxReceivedMessageSize was set on the bindingConfiguration (shown below):
After a lot of time trying to debug the issue I figured out the issue: the name that I had set on the service was not correct and it did not point to the name of the class that implemented the contract. This I think resulted in a default configuration getting applied to the service and hence the bindingBehavior that I had defined was not being applied to the service. Once I corrected the name, everything began working correctly.
So make sure your service’s name is set correctly.
Remember: name. Specifies the type that provides an implementation of a service contract. This is a fully qualified name which consists of the namespace, a period, and then the type name. For example
Note: If you want to use a name other than the class name, then you can use the ServiceBehavior (MSDN) attribute on your class to give it a different name.
Control generated WSDL in WCF - Part 1. Namespaces.