Convert PNG to JPG with THUMBNAIL_INSET issue

I found a bug

when i convert a 800x800 PNG image (user submit, no control over this) to a JPG image which I want it to be 800x800 as well.
I tested with a transparent background PNG. the background appear to be black. 
but as long as the PNG not 800X800 it has nothing wrong.

$image = $imagine->open($targetPng);
$image->thumbnail(new Box(800, 800), ImageInterface::THUMBNAIL_INSET)->save($targetJpg);

And i have tested it with THUMBNAIL_OUTBOUND and i realize it has the same problem is the dimension is the same.

last one. i found out. if i save PNG into jpg using THUMBNAIL_INSET, all the images background turn black.

any idea? btw i found and interesting topic converting png to jpg http://stackoverflow.com/a/12805/805373