Нет, типы кэшируются, он всегда возвращает один и тот же статический экземпляр только для чтения.
Вы можете написать эту тестовую программу для проверки:)
static void MyTest()
{
if (object.ReferenceEquals(typeof(int), typeof(int))
Console.WriteLine("Yippie! they are the same!");
else
Console.WriteLine("WTF?");
}
То же самое относится к методу GetType и ко всем другим функциям отражения, таким как получение свойств, методов, полей, атрибутов и всего остального.