GD use a lot of memory. It loads the image into memory entirely and uncompresses it, so you will need at least 32 bits per pixel. An image with the size 800 x 600 do then use up:
800 * 600 * 32 bits = 15.4 megabit = 2 MB
This is only to load the image. I have heard that it will use the double of this if you do resizing, and if your images are even bigger it will be even more memory.
You should really consider caching your thumbnails so they only have to be generated once (this will speed up the page for your visitors too!).
I also read now that you are loading the images from an external server, in which case you REALLY must cache the image because otherwise your visitors have to wait for YOU to download the entire image first. This gets even worse if the external server is down or overloaded and your visitors will have to wait for a timeout (this will look like it's your service that is slow). In addition to this you will waste a lot of bandwidth if you download the iamge every time a user requests a thumbnail of it.