You have no idea what Safari is going to do with your web pages. Sometimes, I'll put the phone to sleep overnight and have the page still there in the morning, and sometimes it'll clear a page and have to reload after five minutes.
It doesn't really have to do with time; it has to do with available memory. iPhone only has 128 MB of memory (and it doesn't use the flash for virtual memory) so once it runs out of that, it'll clear out Safari pages and reload them when you scroll to them again.
Given that some background processes run on it, this may happen even without your input or action. Not much to be done about it except adding more memory (how come no one is putting "more memory and a faster CPU" on their iPhone 2 wish list?)