Hi,
Wrote this before I saw the other replies but what the h*ll ...
You may also want to consider that the server will also have to do more work (take longer) to deliver a thumbnail if it has to re-create it on every page view. The more people viewing the worse it'll get.
For most situations, there's no real reason to make the the thumbnail(s) at the display stage (user time). You will always have to upload at least one image to the server anyway, so why not have PHP make the thumb(s) then?
One other thing ... 500k is a pretty big file size. Obviously it will depend on the pixel dimensions, but have you optimised your images at all? You will need a decent graphics program (I use Fireworks) to do it, but it's absolutely essential.
To be honest, I use Fireworks to make the thumbnails as well ... IMHO, with thumbs created using PHP, the quality of the resulting images can be poor and thus unreliable. I make the thumbs at the same time as I optimise the main image and just upload the lot to the server direct.
Hope that helps.
P.
PS For a reference to a reasonable file size, my company website (link below) shows images up to 500px square. Very few images are over 200k and most of the largest are less than 150k. I realise that we're not showing photos, but still,.