ahhh sorry !.
I forgot that my button was not a simple CButton !
I just found out that the bug is in a C++ class that I have got from CodeProject.
It is CImageButtonWithStyle :
// The class CImageButtonWithStyle is a CButton derived class that
// handles the NM_CUSTOMDRAW notification to provide XP visual styles themed
// appearance for buttons with BS_BITMAP or BS_ICON style set.
// This makes them match the appearance of normal buttons with text labels.
// The default Windows controls do not provide the themed appearance for
// these buttons.
Actually, there is some GDI leak in the code : each time a Icon-button is painted, this simple snippet of code :
HICON hIcon;
ICONINFO ii;
GetIconInfo (hIcon, &ii);
generates at most two HBITMAP that must be deleted afterwards, with:
DeleteObject (ii.hbmColor);
DeleteObject (ii.hbmMask);
Thanks, CPallini : you have forced me to look closer to the problem !