I am 99% sure that the glTexImageXD calls are blocking which means that they will not return until the texture is loaded into memory. If the function has returned, the texture is in the GPU.
public boolean isTexture2DBound(int textureName) { return GL11.glIsTexture(textureName) && GL11.glGetInteger(GL11.GL_TEXTURE_BINDING_2D) == textureName; }