First find out what the values are that you're using for all the session.gc_* settings in your PHP configuration. Check the links on this manual page for gc_maxlifetime, gc_probability, and gc_divisor to see how they interact to determine when garbage collection is run.
Also note that when you do a session_start(), if there is a file for that session ID, its last modified time will be updated to the current time before garbage collection is run, so it will not be deleted. Therefore you may have to test with two different users, or delete the cookie on the browser to force a new session ID.
"Please give us a simple answer, so that we don't have to think, because if we think, we might find answers that don't fit the way we want the world to be."
~ Terry Pratchett in Nation