Unstable when executing library?

I am not surprised you are seeing what you do.
You are trying to do some tasks very quickly at short intervals and the display task, which is very long every time round the loop. Therefor you will disrupt the other tasks.
Try putting a timer on the display task so that you only execute it every second or so.
Time how long this task takes by subtracting the millis time after it finishes from the millis time before it starts, I suspect you are asking the arduino to do too much.
Break that display function into a number of smaller tasks which you implement as a state machine to spread the computing load over several calls. That way you can manage the time better.