I'm not familiar with the internals of xfce, gtk, or cairo, however I encoutered bug #9691 in xfce4-cpugraph-plugin and did some debugging with valgrind, which showed malloc() calls inside gradient_draw_shaded() without corresponding free()s ; It seems that gradient_draw_shaded() in gradient_draw.c calls cairo_pattern_create_linear(), but does not free the returned cairo_pattern_t via cairo_pattern_destroy(). Inserting "cairo_pattern_destroy(gradient);" at the end of the function body has, guessing from the fact that there is no memory leak visible anymore, fixed the problem for me. The bug has occurred on Ubuntu 12.10 amd64, the version of gtk2-engines-xfce is 3.0.0-1.
This has been fixed in a later release *** This bug has been marked as a duplicate of bug 8521 ***