Session variable values are serialized to the database using the Binary object serialization library.

This means that there are three restrictions on the values stored in the session:
Continuations cannot be stored at all.
Object identity is not preserved between serialization and deserialization. That is, if an object is stored with sset and later retrieved with sget, the retrieved value will be = to the original, but not necessarily eq?.
All objects reachable from the value passed to sset are serialized, so large structures should not be stored in the session state, and neither should anything that can reference the global namespace. Large structures should be persisted in the database directly instead, using db.tuples.