I found out that Blynk.connectWiFi(ssid, pass) is a blocking code and it is not covering wifi issues first by testing your example from here, then by reading your notes. So, thanks!
So I tried with WiFi.begin(ssid, pass) instead and I ran it through all the connection failure situations I could think of.
Here is the final example in case if someone finds it useful.