I am starting to do some research for my blockchain based project and I was wondering if it is possible that I can deploy my project on my very own private ethereum network for actual public use and non testing purpose or do I need to use the main ethereum network or one of the bigger test networks like "Rinkby" etc for deployment?
You can develop and test on a private network, even one node or an emulator such as ganache. You can migrate to one of the larger public testnets for a public-facing debut/test. Just for clarity, contracts on testnets cannot interact with mainnet in any way, so you can't use a factory or token on a private network or testnet to deploy contracts or work with tokens on mainnet.
It might be helpful to keep in mind that states are the consequence of transactions. Since blockchains can't "see" transactions on other chains, interaction between chains is severely constrained.
Hope it helps.
You can use any network you like. You just have to point your web3 (I assume you're building a website, but makes no difference really) to the right node which is connected to the right network.
It's only a matter of security/trustlessness/transparency etc. You can point your project to whatever backend you want and users don't typically even know whether there's a traditional web server or whatever blockchain. Of course you shouldn't probably call your application a "dApp" if it's on top of a regular centralized webserver, but otherwise it's all up to you.