Fix dumb threading issue and dumb usage of OracleExecFilter other places...

Hi Demis,
The problems this fixes is occasional ArgumentException "An item with the same key has already been added" errors, and the OracleExecFilter getting used for non-Oracle databases.
This fix is good enough, but it would IMO be better to make the ExecFilter dependent on the provider. Toss it back if you want me to do that fix also.