There is a help topic about this, which says a little bit more than "throw the switch":
This property indicates that a session should be obtained from a session pool. The session pool will either be managed internally in the application, or it will be managed by the Oracle Service for MTS. This can be useful if you need to frequently create and free TOracleSession instances, but can't afford to make new database connections every time because of performance consequences.
This option is most useful in an MTS (Microsoft Transaction Server) environment, because a TMTSDataModule and TMTSAutoObject instances are continuously created and destroyed by the MTS Server between client requests, and any TOracleSession that is owned by this instance will also be created and destroyed. This would imply that each request would cause a database logon and logoff. To prevent this, you can set the Pooling property to one of the following values:
spInternal - The database sessions will be pooled internally by Direct Oracle Access.
spMTS - The database session will be pooled by the Oracle Service for MTS. This service is only available for Oracle8i and later, and is a requirement if you want to use spMTS.
Each time a TOracleSession instance is logged on, it will attempt to reuse a database session from the pool. If there are no sessions available, a new session will be created. When the TOracleSession instance is logged off, the database session will be released into the pool. Make sure that you commit or rollback your updates before logging off the session, unless it is enlisted in an MTS transaction!
------------------
Marco Kalter
Allround Automations