ho provato a mettere:

$background = imagecolorallocate($thumb, 255, 255, 255);

prima dell'imagejpeg, ma non risolvo nulla...lo sfondo è sempre nero