We intentionally leak the default WebKitWebContext, but WebProcessPool is tracked by our leak checker so in debug builds we get a report of one leaked web context per web process. It's definitely a bug for any class tracked by leak checker to ever be leaked. We need to decide whether to free the default web context (possibly risky: I'm tired of bugs caused by destroying stuff at exit time, and this is a GObject) or to just not track leaks of WebProcessPools.
Hm, I'm not sure about this anymore. I remember at some point debugging the problem and discovering that the default WebKitWebContext is never created by Epiphany. I wonder where I posted my analysis of that; I don't remember. :/ I think the problem might be a reference cycle inside WebKit somewhere.