We had the same problem in one of our CI builds. The reason was that one (or more) tests were starting separate threads and when a crash occurs in such thread and not in the main thread of vstest.executionengine the process simply crashes without additional information. Enabling the crash dump as suggested in the error message helped us localize the problematic module. Another approach was to start removing test assemblies from the build definition so that we're running only part of the unit tests until we localize the problematic test.
The difference between the local environment and TFS is the different folder structure that the build server creates compared to the local, so some relative paths become wrong. Exactly in our situation we were missing some data files. We had both forgotten to map them in the "Source settings" path of the build definition and forgotten to deploy them properly.