Okay, I turned on .NET source debugging and now I'm getting two exceptions.
The first seems to be unrelated, and just something in the test container:
First-chance exception at 0x7c812afb in UserControlTestContainer.exe: Microsoft C++ exception: [rethrow] at memory location 0x00000000..
If I click Continue the app runs for a while and then I get another exception. This is what brings the app down.
An unhandled exception of type 'System.Reflection.TargetParameterCountException' occurred in mscorlib.dll
Additional information: Parameter count mismatch.
Any ideas?
edit - just ran it again, didn't get the second exception, and the app still crashed. It seems to go down right before the WPF control would be shown. I wish I could run this in VS2010, but the Oracle Data Provider doesn't show up in the provider list, since MS changed how providers are listed in the registry.
edit2 - okay, I attached VS2010's debugger to the running app and caught the second exception above. It's got to be that.
edit3 - could it be something with the Dispatcher? It seems to get the error after everything processes but before the interface is updated. I basically made a subclass of ObservableCollection that holds a reference to the Dispatcher and performs a CheckAccess before each method call. If it has access it calls the base operation, if not it does a BeginInvoke for the method.