USB Host Shield with PS4BT & I2C LCD

I'm using a usb host shield, with a bluetooth dongle, to connect to a PS4 controller. It is all fine show all data through serial port. But when I trying to display it on a LCD through I2C. "usb.Task()" has always block all other calls. The official site said that

"If there is no activity on a connected USB device, task() will block all other calls for 5 second intervals."

I don't understand why I2C will make it happend.

PS:I have tried all kinds of I2C device that I have.