@b3ko, if you post your actual code it would help. If you want to delay without killing the cloud connection, you need to implement a non-blocking delay, something like this:
unsigned long myDelay = millis() + (60*5*1000);
while (millis() < myDelay) {
Particle.process();
delay(10);
}
This will appear like a blocking delay (where other code is not running and loop() is not looping). However, it will be calling Particle.process()
which will keep the cloud connection active.