Assumindo que _beginTransaction é um booleano, você o define como true antes de
If _beginTransaction Then
? Você também confirmou a transação anterior antes de iniciar esta? A Oracle pode fazer coisas estranhas com pool de conexões e BeingTransaction.
Há muito tempo atrás eu tive um bug parecido com este. Você olhou aqui ?
Editar - você está tentando chamar um proc armazenado .NET?
OracleConnection.BeginTransaction
não é compatível com chamadas de procedimento armazenado
: