ORA-08177: no se puede serializar el acceso para esta transacción

Tengo un código muy simple usando ADO.NET que arroja la excepción ORA-08177. No estoy seguro de qué hay de malo en esto. Estoy intentando esto en una máquina con Windows Vista que tiene instalado el cliente Oracle 32 bit. Mi opción de compilación para Visual Studio está configurada en la plataforma x86.

Dim connection As OracleConnection = Nothing
Dim transaction As OracleTransaction = Nothing

Try
    connection = New OracleConnection("Data Source=ora10;User Id=userid;Password=passwd;")
    connection.Open()

    transaction = connection.BeginTransaction(IsolationLevel.Serializable)

    Dim inputStream As New System.IO.FileStream("Dummy.xls", IO.FileMode.Open)
    Dim fileLength As Integer = CType(inputStream.Length, Integer)
    Dim input(fileLength) As Byte

    Try
        inputStream.Read(input, 0, fileLength)
    Finally
        If inputStream IsNot Nothing Then inputStream.Close()
    End Try

    Dim deleteSql As String = "DELETE FROM TABLE1 WHERE Version = 'v1' "

    Dim cmd As New OracleCommand(deleteSql, connection, transaction)
    cmd.ExecuteNonQuery()

    Dim insertQuery As String = "INSERT INTO TABLE1 (VERSION, DATA) VALUES (:VERSION, :DATA) "
    Dim insertCmd As OracleCommand = New OracleCommand(insertQuery, connection, transaction)
    insertCmd.Parameters.Clear()
    insertCmd.CommandType = Data.CommandType.Text
    insertCmd.Parameters.AddWithValue(":VERSION", "v1")
    insertCmd.Parameters.AddWithValue(":DATA", input)

    insertCmd.ExecuteNonQuery()
    transaction.Commit()

Catch
    If transaction IsNot Nothing Then transaction.Rollback()
    Throw
Finally
    If transaction IsNot Nothing Then transaction.Dispose()
    If connection IsNot Nothing AndAlso connection.State <> ConnectionState.Closed Then connection.Close()
End Try

Algo importante a tener en cuenta: (no estoy seguro de si están conectados) pero no enfrento este problema si desinstalo las últimas actualizaciones de Windows de mi máquina.

¿Alguien se ha enfrentado a esto o tiene alguna idea de lo que está pasando aquí?

Editar:

Tengo algún progreso donde descubrí que este problema ocurre solo cuando tenemos el tipo de columna de blob en cuestión. para columnas simples funciona bien.

Otros detalles (no estoy seguro si eso hace la diferencia)

Estoy trabajando en una máquina de negocios Windows Vista de 64 bits. He instalado el cliente Oracle de 32 bits para Windows Vista (ya que el cliente Oracle de 64 bits no funciona en Vista). Estoy compilando mi proyecto para un x86 (entorno de 32 bits) en Visual Studio. Y esta es una aplicación de consola y sé que nadie más está golpeando la base de datos en este momento. entonces no puede haber transacciones múltiples.

Y no veo este problema si desinstalo la última actualización de Windows. (KB963027, KB967190, KB959426, KB960225, KB960803, KB952004, KB956572, KB958687, KB958690, KB958481, KB958483, KB943729)

Respuestas a la pregunta(1)

Su respuesta a la pregunta