Every replacing fluid consumes up to 90% tick update time, so it's dropping FPS even when you stay still. 
When method returns doing nothing fps become smooth, except for if you generate new world chunks.
Tried to put it into static threadPool. Got exception :)) so, i think there is no way except for improving method itself , maybe, rejecting 95% of calls? Ocean will spread way slower but performance will rise