OK, now that I can read your code better, I took a quick look… you are NOT trying to use the BLE for Blynk communication like I first thought (instead of WiFi)… So what you are effectively doing is trying to run two timing intensive communication protocols at the same time. Situation still stands, use timed routine for the Serial and try to balance the timer between both Blynk’s needs and the Serial read needs.
With the ESP32 you could also try splitting the cores between tasks… check this out and search for more dual core references with and without Blynk.