[Authorize(Roles="Admin")]
Делайте async и будет вам счастье.
await еще не означает создания дополнительный поток (тред). Особенно, когда дело касается асинхронного ввода-вывода.
IEnumerable<Book> books = await db.Books.ToListAsync();
.NET Native заменяет полную среду CLR на оптимизированную среды выполнения, которая в первую очередь содержит сборщика мусора. Оптимизированная среда выполнения находится в библиотеке mrt100_app.dll, которая является локальной для приложения и имеет размер только несколько сотен килобайт. Это возможно потому, что статическое связывание устраняет необходимость во многих операциях, реализуемых средой CLR.
читаете в переменную content, а парсите несуществующую data