Blynk.begin(auth, ssid, pass);
is a blocking function, and may not allow your program to run if there is a problem with internet during start-up (and possibly after). It is better to use the Blynk.config(auth);
to establish connection. This allows your program to continue to operate if the wifi sgnal is lost.
Take a look at this example, I have used it in many of my projects with great success. Although, I do not run any esp32’s. All of my projects are based off of the esp8266.
Hope this helps.