Because in GDI+ the class constructor and destructor take care of the cleaning duties.
You have to restore the handle of the former HBITMAP fro two reasons, the first because the code that used the hdc before you mapped the new bitmap can destroy previous resources, yourself because each time you insert a new bitmap the memory used for the previous one remains around clogging the memory manager. The last is expressly required
see remarks section.
I forget to mension that GDI have to be handled carefully because the GDI resources are
global and limited, they are shared for all windows running on your computer. Each program receives a limited ammount of GDI handles, that it can use, borrowed from the global GDI handles still available. If you don't restore GDI object allocated from OS they cannot be freed and made available again after program shutdown. Acting that way after a while your system will refuse to open windows and you'll get a message about system getting low on available GDI resources.