Why not? You deposit coins by sending them to stablecoin sidechain address.
Because mainchain is not the same thing as sidechain and even the name is telling you that.Sidechains can have numerous bugs and issues unrelated to bitcoin that can result in losing value of stable coins that are not stable anyway with non-stop inflation and printing of fiat currencies.
Of course that layer can have bugs, but it's unlikely at this point (Omni exists since 2013 or 2014) that these are concerning for the main operations (issuing, sending and receiving tokens).
Thank you for sharing this information. Can we use Open Asset Protocol to achieve this? Is it still in use? Transaction time & speed are not the concern at the moment.
However an algorithmic stablecoin should be more difficult to build on the Bitcoin chain, although I don't rule it out completely that it's possible (maybe with Counterparty, see below). It would need probably a turing complete script language.
What is the best smart contract language for the BTC main chain?
Basically the Bitcoin "core" protocol supports only Bitcoin Script, which is not Turing complete, but there are possible simplifications and variations of it, like Simplicity (which is still not supported though). The "layers" which extend Bitcoin with OP_RETURN transactions can have more elaborate smart contract languages, although these can not handle Bitcoins, only their tokens (so a smart contract can't "hold" Bitcoins as collateral, for example). For this reason, most of these layers have an own helper currency for some basic operations. Counterparty had once a project to create a Turing complete smart contract language compatible with Solidity (Ethereum's main smart contract language), but they're not very active currently and I don't know if they succeeded (Edit: according to this page, it seems they have abandoned the project, or are working on an alternative).