Not exactly sure about FromBITMAPINFO.
However the Bitmap::Bitmap(..., BYTE* scan0) MSDN documentation states that:
"The caller is responsible for allocating and freeing the block of memory
pointed to by this parameter."
I presume FromBITMAPINFO will eventually call this constructor and the
behavior is the same.
Hope this helps