I need to know what's the difference between virtual memory allocation for threads between kernels 2.6 and 2.4:

I wrote a program which creates a thread every 2 seconds then I ran it on rhel3 (2.4) and rhel5 (2.6) and invoked 'top' upon it's 'pid' I noticed that in rhel5 (2.6) the virtual memory is growing each time I create a thread by 10240K (this value could be obtained by 'ulimit -s') - I tested the program also by 'pmap' and noticed that for each thread on rhel5 (2.6) 10240K are allocated for stack (while it doesn't on rhel3)

Can you please explain what's the reason for this difference? can you please refer me to books or links where I can have detailed information about it ?