Swift is also memory safe in that sense.

It has a gc in the general sense of that term.

Swift uses Automatic Reference Counting (ARC) which is a form of garbage collection.

Now I'm curious, how does it GC cycles, if at all?

EDIT: from a brief search: it doesn't.

Not sure why you're downvoted, RC is definitely a form of GC even if not a tracing GC.