I haven't a clue as to what the underlying issue might be. That said, you can attach the debugger to the ArcSOC process(es) and see what is going on. If you use Visual Studio then just tell it to stop when a NullReferenceException is thrown. When you catch it, you can (using ESRI and Microsoft debug symbols) see what was going on. Since it is a .NET exception you can use the SOS debugging in Visual Studio in order to dive into the managed code.