Bug 316246 Clean up code should not only run on IPresentationEngine.stop()
This results in the fact the clean up code in there is not run.
bundles/org.eclipse.e4.ui.workbench.swt/src/org/eclipse/e4/ui/internal/workbench/swt/PartRenderingEngine.java
if (ctxt.getContext() == null) {
				IEclipseContext parentContext = null;
				if (element.getCurSharedRef() != null) {
					MPlaceholder ph = element.getCurSharedRef();
					parentContext = getContext(ph.getParent());
				} else if (parentContext == null && element.getParent() != null) {
					parentContext = getContext(element.getParent());
				}
				if (parentContext == null)
					parentContext = appContext;
				IEclipseContext lclContext = parentContext
						.createChild(getContextName(element));
				populateModelInterfaces(ctxt, lclContext, element.getClass()
						.getInterfaces());
				ctxt.setContext(lclContext);
				
				
				
				
				for (String variable : ctxt.getVariables()) {
					lclContext.declareModifiable(variable);
				}
				Map<String, String> props = ctxt.getProperties();
				for (String key : props.keySet()) {
					lclContext.set(key, props.get(key));
				}
				E4Workbench.processHierarchy(element);
			}