This is definitely not true for ActionForms. In request scope, each request from each user has it's own instance of the ActionForm. This means there could be dozens or even hundreds of instances of this object in the JVM at any given time. Of course this also means the instance is eligible for garbage collection as soon as the request is complete.
If the scope of the ActionForm is "session", then Is struts reuses the same original object if exists and call the reset method on it before using it between requests?