ORA-08177: não é possível serializar o acesso a esta transação

Eu tenho um código muito simples usando o ADO.NET que gera a exceção ORA-08177. Não tenho certeza do que há de errado nisso. Estou tentando isso em uma máquina Windows Vista que tem o cliente Oracle 32 bits instalado. Minha opção de compilação para o visual studio está definida para a plataforma x8

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

Importante notar: (não tenho certeza se eles estão conectados), mas não enfrentarei esse problema se desinstalar as atualizações mais recentes do Windows da minha máquin

Alguém já enfrentou isso ou tem alguma pista sobre o que está acontecendo aqui?

Editar:

Tenho algum progresso em que descobri que esse problema ocorre apenas quando temos o tipo de coluna de blob em questão. para colunas simples, funciona be

Outros detalhes (não tenho certeza se isso faz diferença)

Estou trabalhando na máquina comercial de 64 bits do Windows Vista. Eu instalei o cliente oracle de 32 bits para o Windows Vista (já que o cliente oracle de 64 bits não funciona no Vista). Estou compilando meu projeto para um x86 (ambiente de 32 bits) no visual studio. E esse é um aplicativo de console e eu sei que ninguém mais está acessando o banco de dados no momento. portanto, não pode haver várias transações.

Eu não vejo esse problema se eu desinstalar a atualização mais recente do Windows. (KB963027, KB967190, KB959426, KB960225, KB960803, KB952004, KB956572, KB958687, KB958690, KB958481, KB958483, KB943729)

questionAnswers(1)

yourAnswerToTheQuestion