Bug 182402 [JFace] FontRegistry.defaultFontRecord() leaks a Font
FontRegistry.defaultFontRecord(), creates a Font, uses that Font's FontData to create a FontRecord (which creates a new Font with the FontData), but never disposes the original Font once the FontRecord has been created.
bundles/org.eclipse.jface/src/org/eclipse/jface/resource/FontRegistry.java
Font newFont = new Font(display, validData);
        return new FontRecord(newFont, validData);
    }
    /**
     * Calculates the default font and returns the result
     */
    Font calculateDefaultFont() {
        Display current = Display.getCurrent();
        if (current == null) {
            Shell shell = new Shell();
            Font font = new Font(null, shell.getFont().getFontData());
            shell.dispose();
            return font;
        }
		return new Font(current, current.getSystemFont().getFontData());
    }
    /**
     * Returns the default font data.  Creates it if necessary.
     * @return Font
     */
    public Font defaultFont() {
        return defaultFontRecord().getBaseFont();
    }
    /**
     * Returns the font descriptor for the font with the given symbolic
     * font name. Returns the default font if there is no special value
     * associated with that name
     * 
     * @param symbolicName symbolic font name
     * @return the font descriptor (never null)