1. сохранять то что ввел пользователь в БД
Заводишь БД и сохраняешь туда. В реляционке это будет три колонки (минимум): Id, user id, text
Без конкретики сложно подсказать.
2. регулярно отправлять информацию пользователю.
Если регулярность определяет пользователь, то проще это будет реализовать на уровне кода при помощи Quartz или Hangfire - они позволяют описывать регулярные задачи и создавать их из кода.
Если регулярность одинаковая для всех пользователей - можно в отдельном процессе через сторонний планировщик (например cron)
Для реализации бота можешь использовать библиотеку Telegram.Bot. Давно ей не пользовался, и вроде там из коробки только поллинг есть, но я бы советовал использовать вебхуки с asp net core.
В принципе никто не запрещает использовать от Telegram.Bot только dto-шки и возможность отправлять запросы в telegram bot API
как реализовать 2 задачу вместе с 1-й ?
При такой постановке - это две независимые задачи.
какой паттерн реализовать ?
Да тут вообще никаким особым паттерном и не пахнет.
Просто сделать асинхронную задачу?
Что это вообще значит?
Сейчас приходит на ум просто еще одну прогу сделать которая будет регулярно отправлять информацию пользователю
Звучит как вполне рабочий вариант