One way of doing it (the one which works very well for me) is with register_shutdown_function():
<?
function shutdown_func() {
global $img;
if($img)
imagedestroy($img);
}
register_shutdown_function("shutdown_func");
$img = imagecreate...(...);
... // manipulate image
// normally I'd need the following line, but now it's handled by shutdown_func()
// imagedestroy($img);
?>