I put together a sample program, but realised it probably wouldn't help as it would like work for you.
However, I did enable the SmartRunner and tried to run a test and received this exception that I thought could be of help:
Unhandled Exception:
> System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
> at System.Threading.Thread.InternalCrossContextCallback(Context ctx, IntPtr ctxID, Int32 appDomainID, InternalCrossContextDelegate ftnToCall, Object[] args)
> at System.Runtime.Remoting.Channels.CrossContextChannel.SyncProcessMessage(IMessage reqMsg)
> at System.Runtime.Remoting.Channels.ChannelServices.SyncDispatchMessage(IMessage msg)
> at System.Runtime.Remoting.Channels.CrossAppDomainSink.DoDispatch(Byte[] reqStmBuff, SmuggledMethodCallMessage smuggledMcm, SmuggledMethodReturnMessage& smuggledMrm)
> at System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatchCallback(Object[] args)
> at System.Threading.Thread.InternalCrossContextCallback(Context ctx, IntPtr ctxID, Int32 appDomainID, InternalCrossContextDelegate ftnToCall, Object[] args)
> at System.Runtime.Remoting.Channels.CrossAppDomainSink.DoTransitionDispatch(Byte[] reqStmBuff, SmuggledMethodCallMessage smuggledMcm, SmuggledMethodReturnMessage& smuggledMrm)
> at System.Runtime.Remoting.Channels.CrossAppDomainSink.SyncProcessMessage(IMessage reqMsg)
> at System.Runtime.Remoting.Proxies.RemotingProxy.CallProcessMessage(IMessageSink ms, IMessage reqMsg, ArrayWithSize proxySinks, Thread currentThread, Context currentContext, Boolean bSkippingContextChain)
> at System.Runtime.Remoting.Proxies.RemotingProxy.InternalInvoke(IMethodCallMessage reqMcmMsg, Boolean useDispatchMessage, Int32 callType)
> at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
> at Typemock.Common.Core.CoverageInitializerPorxy.InitSession(IEnumerable`1 assemblies, Boolean isBlacklist)
> at Typemock.Common.TestsRunner.Lib.AssemblyTestsExecuter.ExecuteAssemblyTests(String sessionID, String assembly, CancelState cancelState, TestsSessions tests, AppDomain appDomain, String[] coveredAssemblies)
> at Typemock.Common.TestsRunner.Lib.TestRunnerService.ExecuteAssemblyTests(String sessionID, AppDomainBuilder appDomainBuilder, String assembly, CancelState cancelState, TestsSessions tests, String[] coveredAssemblies)
> at Typemock.Common.TestsRunner.Lib.TestRunnerService.RunTestInAppdomain(IEnumerable`1 testsAssemblyLocation, List`1 testNames, String sessionID, Dictionary`2 testsOptions, List`1 path2TestSettings, String solutionName, String[] coveredAssemblies, IEnumerable`1 dependencyFiles)
> at Typemock.Common.TestsRunner.Lib.TestRunnerService.RunTests(IEnumerable`1 assemblies, List`1 testNames, String sessionID, Dictionary`2 testsOptions, List`1 path2TestSettings, String solutionName, String[] coveredAssemblies, LoggerOptions logOptions, IEnumerable`1 dependencyFiles)
> at SyncInvokeRunTests(Object , Object[] , Object[] )
> at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
> at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
> at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
> at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)
> at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
> at System.ServiceModel.Dispatcher.ChannelHandler.DispatchAndReleasePump(RequestContext request, Boolean cleanThread, OperationContext currentOperationContext)
> at System.ServiceModel.Dispatcher.ChannelHandler.HandleRequest(RequestContext request, OperationContext currentOperationContext)
> at System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump(IAsyncResult result)
> at System.ServiceModel.Dispatcher.ChannelHandler.OnAsyncReceiveComplete(IAsyncResult result)
> at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
> at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
> at System.ServiceModel.Channels.TransportDuplexSessionChannel.TryReceiveAsyncResult.OnReceive(IAsyncResult result)
> at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
> at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
> at System.ServiceModel.Channels.SynchronizedMessageSource.ReceiveAsyncResult.OnReceiveComplete(Object state)
> at System.ServiceModel.Channels.SessionConnectionReader.OnAsyncReadComplete(Object state)
> at System.ServiceModel.Channels.PipeConnection.OnAsyncReadComplete(Boolean haveResult, Int32 error, Int32 numBytes)
> at System.ServiceModel.Channels.OverlappedContext.CompleteCallback(UInt32 error, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
> at System.Runtime.Fx.IOCompletionThunk.UnhandledExceptionFrame(UInt32 error, UInt32 bytesRead, NativeOverlapped* nativeOverlapped)
> at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)