It can even happen without cycles. If object A contains two references to object B and you want to read A back into memory the same way (rather than have it contain two different but identical objects B) you have to deal with the issue of referential integrity. No cycles needed.
If your domain model is strictly that of rows in an RDBMS, there's no problem. Otherwise you're not storing objects but graphs of objects and overlooking that simple fact is the source of many serialization problems.
If your domain model is strictly that of rows in an RDBMS, there's no problem. Otherwise you're not storing objects but graphs of objects and overlooking that simple fact is the source of many serialization problems.