Supposedly impossible situation with introspection

To generalize some code, I have this method, which is 100% unaltered from the actual code in the app:

Protected Function CreateInstance(GroupName As String, GroupData As Dictionary, Identity As Beacon.Identity, Document As Beacon.Document) as Beacon.ConfigGroup
  Var Info As Introspection.TypeInfo = BeaconConfigs.TypeInfoForConfigName(GroupName)
  If Info Is Nil Then
    App.Log("Could not create config group """ + GroupName + """ because the type info is missing.")
    Return Nil
  ElseIf Info.IsSubclassOf(TypeInfoForConfigName("")) = False Then
    App.Log("Could not create config group """ + GroupName + """ because the class is not a subclass of Beacon.ConfigGroup.")
    Return Nil
  End If 
  
  Var Constructors() As Introspection.ConstructorInfo = Info.GetConstructors
  For Each Signature As Introspection.ConstructorInfo In Constructors
    Var Params() As Introspection.ParameterInfo = Signature.GetParameters
    If Params.LastIndex = 2 And Params(0).IsByRef = False And Params(0).ParameterType.FullName = "Dictionary" And Params(1).IsByRef = False And Params(1).ParameterType.FullName = "Beacon.Identity" And Params(2).IsByRef = False And Params(2).ParameterType.FullName = "Beacon.Document" Then
      Var Values(2) As Variant
      Values(0) = GroupData
      Values(1) = Identity
      Values(2) = Document
      Return Signature.Invoke(Values)
    End If
  Next
  
  App.Log("Could not create config group """ + GroupName + """ because the correct constructor could not be found.")
End Function

The purpose here is to generalize a factor method instead of using a large Select statement, which I’m likely going to do after this thread.

In 99.9999% of cases, this works perfectly. In fact, I’ve never been able to reproduce it myself. But every once in a while I’ll have a user report that certain little things start to misbehave. So I look in the log files and see that “the correct constructor could not be found” message. Usually before this happens, my app will experience some type of error and be forced to shut down. Then this issue seems to be permanent. A reinstall sometimes helps.

My best guess is the installed libraries get messed up somehow. I suggested maybe antivirus being weird, but they tell me their subscription has lapsed. Which now that I write this, maybe it is messing up files trying to convince the user to renew?

But honestly, I feel like there’s something else going on. Any ideas? This is definitely one of the most bizarre cases I’ve dealt with in a while.