ConfigObserver becomes a possible memory leak:
I think the leak is created through the Observable pattern that's used between EndpointMetaData(Subject) and CommonBindingProvider(Observer):
For each invocation we create a ServiceEndpointInvoker. Each invoker will be associated with a BindingProvider. This links the CommonBindingProvider to EndpointMetaData through the Observer pattern.
The EndpointMetaData is kept in the registry. IMO this is result in a memory leak.
I'll need to verify this assumption. But basically you could monitor a deployed EndpointMetaData#configObservable.countObservers(). If the above statement is true is will increase with every request that's being processed.