Unit tests have different requirements than production code. For example, unit tests may not have to be as performant as the production code.
Perhaps it sometimes makes sense to write your unit tests in a language that is better suited to writing unit tests? The specific example I have in mind is writing an application in C# but using IronRuby or IronPython to write the tests.
As I see it, using IronPython and IronRuby have several advantages over C# code as a testing language:

Mocking can be simpler in dynamically typed languages
IronPython has less verbose type annotations that are not needed in unit tests
Experimental invocation of tests without recompilation by typing commands at the interpreter

What are the tradeoffs in using two different languages for tests and production code?
I agree with the other answers that there are disadvantages, but I'm surprised that so few have talked about advantages.

TDD'ing across languages is a great way to learn new languages: write the tests in a language you know well, and the implementation in the language you are learning. As you are learning, you will discover better ways of writing the code than you first did, but refactoring is easy because you have a test suite.
Having to master multiple languages keeps you (and your team) sharp.
You get better verification that your API is interoperable across languages.
What are the (dis)advantages of writing unit tests in a different language to the code?