Singleton becomes PerCall - ReleaseInstanceMode
Beware:
Adding the following attribute to a member of the the underlying service class
[OperationBehavior(TransactionScopeRequired = true)]
when the class is marked with the the follow attribute:
[
ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
forces a new singleton to be created (ie. it makes it per call). This is due to the default behavior of the OperationBehaviorAttribute's ReleaseInstanceMode property is to recycle a service object according to the InstanceContextMode value
See here for a similar problem