While in general it might be possible to do this the compiler would have to take a very pessimistic view and assume if a class template was specialized with a reference type then it should be replaced by the reference type wrapped in gcroot - this could cause problems in some cases.

Much as I love C++ and this compiler I have learnt over the years that the less the compiler does behind the user's back the better.