I could be wrong, but wouldn't assigning the array to the session just be a pointer? You couldn't use it on another page since its stored in the ram which is deleted at the end of th pages execution. I know in C/++ (what php is made in), the root variable for an array is a pointer.
Or on the off chance that that memory address is being used by the time you go the next page it displays that.
In reply to Village Idiot's post, session variables are serialized (ie, formatted into one long string) before being stored physically (in the file system, database, etc.). Some types of variables can't be stored in sessions -- things that can't be serialized -- such as resources or objects with circular references, but most variable types have no problem being saved as session data.