Bug 93567 ContextInformationPopup leaks CompletionEngines?
N20050503-0010 Yourkit memory snapshot N20050503-0010_1.5.0_20050503-1905.memory on my machine.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/GenericJavaTypeProposal.java
for (int i= 0; i < arguments.length; i++) {
				if (arguments[i] == null) {
					arguments[i]= computeTypeProposal(type, parameters[i]);
				}
			}
			fTypeArgumentProposals= arguments;
		}
		return fTypeArgumentProposals;
	}
	/**
	 * Returns a type argument proposal for a given type binding. The proposal
	 * is the simple type name for unbounded types or the upper bound of
	 * wildcard types with a single bound.
	 *
	 * @param parameter the type parameter
	 * @return a type argument proposal for <code>parameter</code>
	 * @throws JavaModelException
	 */
	private TypeArgumentProposal computeTypeProposal(IType type, ITypeParameter parameter) throws JavaModelException {
		String[] bounds= parameter.getBounds();
		String elementName= parameter.getElementName();
		String displayName= computeTypeParameterDisplayName(parameter, bounds);
		if (bounds.length == 1 && !"java.lang.Object".equals(bounds[0])) 
			return new TypeArgumentProposal(Signature.getSimpleName(bounds[0]), true, displayName);
		else
			return new TypeArgumentProposal(elementName, true, displayName);
	}
	private String computeTypeParameterDisplayName(ITypeParameter parameter, String[] bounds) {