All GL calls must come from a single thread. As loadTexture currently performs GL class (loads the texture into GPU memory) you have to take case that you call it from the same thread than all other GL related stuff (e.g. creating canvas etc.). I'm not really familiar with SWT so perhaps somebody else can tell you about the actual threads there…
Well. SWT uses the thread in which the Display object is created as it's UI thread. AFAIK it won't create any additional thread, so I don't think SWT is causing you those problems.
Ok, then most probably there are two thread as in awt, right? One 'display' thread and the main thread. Be sure to invoke all GL stuff from one of those thread. This should solve the problem.