Suspend works as follows: at the beginning of each player's upkeep, the owner of a suspended card removes a time counter from it (CR 702.62d). If the last time counter is removed this way — even during an opponent's upkeep — the card is immediately cast without paying its mana cost (CR 702.62e).
The key rule is CR 702.62e: "When the last time counter is removed from a card with suspend, if it's in exile, play that card. It has haste if it's a creature." There is no restriction on whose turn or whose upkeep this happens during. The cast is triggered and mandatory.
Importantly, this is a triggered ability ("when the last counter is removed"). It goes on the stack during the upkeep step and resolves normally, meaning your opponent does have a window to respond before the spell resolves (CR 702.62e, 603.2).
Concrete example: You exile Ancestral Vision with suspend. It enters with 4 time counters. During each upkeep (both yours and your opponent's), a counter is removed. If the 4th counter comes off during your opponent's upkeep, the triggered ability fires and you cast Ancestral Vision right then — on your opponent's turn — for free.
One nuance: if the suspended card is a creature, it gains haste, but since it's being cast on your opponent's turn, that haste won't help it attack until your own turn comes around (CR 702.10).
Unofficial fan resource — not affiliated with or endorsed by Wizards of the Coast. Answers are AI-generated estimates grounded in the Comprehensive Rules and are not a substitute for an official judge. Verify anything match-critical.