Since you're using .NET, I can see that you're already familiar with Microsoft products. However, there still seems to be some confusion. The botframework and azure-bot-service tags you've used are not referring to "bot frameworks" in general but rather the Microsoft Bot Framework specifically, as can be inferred from the logos attached to them. If you want to build a .NET Core bot then the Microsoft Bot Framework is the way to go. The Microsoft Bot Framework includes the free Bot Builder SDK to help you build the bot code, but once you're done running the bot locally and want to actually deploy it there's really no way to host a production bot for free that can reach any significant number of users. There are always going to be server costs involved at minimum.
Since you mention Python, I will tell you that one of the four available Bot Builder languages is Python, but Python is not a .NET language so it doesn't make any sense to talk about integrating a Python bot in a .NET Core application. However, if you're running both a Python bot and a .NET Core app you can always have them communicate with each other using HTTP as when using a REST API.