The FaultException is a specific type of exception that allows bubbling up fault information into the WCF stack so that it can be mapped it to a SOAP fault. The code I was using did not populate the FaultException with a FaultReason (hence the updated code)