Disposing the buffer shouldn't be required in this case. The frame buffer isn't coupled to the world or to any objects in any way, so it can stay like it is and be reused. I suggest to add a call to World.removeAllObjects(); before disposing the world to ensure that all objects are free again (are you reusing them?). You can add a World.removeAllLights(); too, but that shouldn't be required.
Apart from that, i don't see why it shouldn't work. Maybe reusing the frame buffer already fixes the problem!?