Run logic even when the Blynk server not available

I’ve seen this thread yesterday.
Unfortunately I still can’t understand why both Bynk.connect(1000) and Bynk.connect(3000) blocks code execution for 15 sec.
Moreover, I believe “unsigned long timeout = BLYNK_TIMEOUT_MS*3” does not relate to the case with the passed timeout. I mean connect(3000) should be 3 sec, not 9. But I have 15.