When Hibernate loads an object into a Session it creates a state snapshot of the current database state of the object, so that it can perform dirty checking against the snapshot.
As a read only object will never be modified, this snapshot is not needed and memory can be saved.
M. Paul, and J. Mandal. International Journal of Computer Science, Engineering and Information Technology (IJCSEIT), volume 2 of IFIP Advances in Information and Communication Technology, page 31-42. Springer, (June 2012)