This is probably a multi-thread synchronization problem. In your code, the line "implements MouseListener" is the first thing that caught my attention. One potential problem spot is your mouseReleased() method, which is altering your "picked polygons" on a different thread than the one handling the "run" method. That's just the first potential problem I noticed, and not necessarily what is causing your delay problems - there may be other thread-related problems here in the RenderThread class or elsewhere in your project, so I would take a really close look to ensure that everything is running on a single thread. One easy way to do this is to synchronize everything that does anything to any component of jPCT on a static final Object, (this solved a similar "random performance crash" problem I was having on a target-shooter applet I'm working on).
One more thing I thought I'd point out (you probably already know this, but I'll mention it anyway). Just because a class extends the Thread class, that doesn't mean all its methods are automatically going to run on a single thread.