Scott,
So far as I know, stateful session beans are not pooled. Pooling is a technique adopted to solve the serial synchronization issue, in other words, to avoid the problem with multiple access to the same bean which creates synchronization problems and also the serial access which in case of synchronizing the whole bean could make serial requests wait too much.
So, once stateful session beans are guaranteed to be unique by client, they're not usually pooled.
if it uses pool, when client calls remove it must be cleaning its old state Right?
I don't think so, even the implementation being specific by vendor therefore susceptible to any implementaion, the computacional price to clean the state of a bean is much higher and could even though not work properly. Even with stateless session beans the state isn't cleaned across multiple requests.
Conclusion, there is no such thing as pooling for stateful session beans, they're created exclusively for a given client and once the remove method is called they're ready to be collected by the GC.
Hope this helps!