В веб-приложении ASP.net статические данные являются общими для всех пользователей, так что да, это довольно плохо, так как это означает, что пользователь A может видеть / изменять данные, которые видит пользователь B, и приводит к разным головным болям. *
Статические поля хороши для статических данных, то есть данные, которые а) являются общими для всех и б) не изменяются пользователями (так как изменения являются глобальными для всех остальных пользователей). Я использую статику для таких вещей, как Конфигурация системы или объектов, которые можно безопасно разделить.
Я думаю, что главная проблема заключается в следующем: «Я думаю, что это отнимает много времени» - не угадывайте, измеряйте. Для .net доступно много профилей. Если у вас есть проблемы с производительностью, проверьте, действительно ли это проблема, а затем действуйте.