Delayed return from glDrawElements()

I’ve run into a strange problem with my OpenGL-based application. Here’s my setup:

Intel® 82915G/GV/910GL Express Chipset Family
Windows XP Professional Version 2002 Service Pack 3

In certain circumstances, calls to glDrawElements() will take an unusually long time (up to a second) to return. This seems to happen when textures with certain dimensions (e.g. 1024x1024) are bound. It only seems to happen once per application run; once it’s occurred, it doesn’t occur again during that run of the program.

I’m currently using quite a lot of textures, so it might have something to do with texture swapping. It still seems strange though that glDrawElements() would block for so long before returning.

Has anyone else run into this problem? For what reasons might glDrawElements() take such a long time to return?