The problem reproduces on Oracle Server 10.2.0.3 Patch Set on the 32bit Windows and 32bit Linux platforms only.
Please review Note 403616.1 "Many Child Cursors create in 10.2.0.3 on Windows and Linux"
is already available for Linux x86 on Metalink. It is convenient to apply this patch immediately after Patch Set 10.2.0.3 on any Linux x86 server.
The problem will reproduce if bind variables used on the same sql statement have different lenghts.
This behaviour is the well known reason for not sharing identical sql statements, that lead to bind variable mismatch, the difference is that in previous versions an statement that would create 5 child cursors will create 16 on 10.2.0.3. The problem is more severe for differing bind lengths and
larger numbers of binds.