Предполагая, что вы пытаетесь кэшировать простое значение, нет реальной проблемы с памятью или производительностью, но это зависит от того, что вы пытаетесь сделать.
Если вам нужно удобное место для сохранения значения, доступного только для чтения, при компиляции, вероятно, лучше использовать const
.
Если вы хотите кешировать какое-то простое глобальное значение, такое как номер версии приложения в виде строки, то вполне нормально поместить это в статическое значение.
Одна вещь, которую вы должны понять, это то, что объект Application (т.е. Global.asax) является , а не синглтоном. Может быть несколько экземпляров приложения, например, когда IIS решает, что пришло время перезапустить пул приложений. AFAIK экземпляры приложения будут работать в разных доменах приложений, поэтому будет также несколько экземпляров вашей статической переменной.
Таким образом, вы никогда не должны использовать статическую переменную в объекте приложения для хранения информации, измененной во время выполнения. Просто нет никакой гарантии, что информация сохраняется в запросах.