Judge Jeffries. Your question is suggesting that you're not accepting an important aspect of how 301 redirects work. A 301 redirect is not something that Google, once told about it, comes to remember. You don't simply tell Google once, or even a bunch of times, about the 301. You've got to tell Google every time.
Think of it as an electronic change of address notice, one that's got to be kept on file so Google will know where to forward a request for your old domain. For a 301 redirect to work, each time a request for the old domain is made, a DNS (domain name server) tells a "user agent" (a visitor or search engine) what the current IP address is for the old domain. There are records in your DNS files where you enter your choices.
When you change domains, you will need to change these records to route requests to the new IP. Software modules handling requests on the server at the new IP address then rewrite and redirect the old domain to the new domain. Google's queries for both the old and new domains are sent to your server at the hosting company IP.
Since the domain name server for the old domain has got to be reminded each and every time the old domain is requested, a key requirement in this operation is that you've got to maintain ownership/control over that old domain.
Otherwise, if you drop the old domain, someone else might pick it up... as you clearly understand... and use it for sending visitors and search engines to a site that's not yours.
My rule here is very much the same as NeapTide's, where he says...
you need to keep the old domain name under your control "forever"
I usually tell clients that it's "forever and beyond", just to emphasize the importance of the commitment.
You've asked several times....
My specific query is, after two years, will google consider the links to my old domain to be links to the new domain. If that is the case then can I delete the old domain with no consequences.
No. Again, Google does not remember the old redirects, and if someone else took control of the old domain after two years, they then would control where subsequent requests were sent. It's very likely that a new owner would redirect requests to his/her own property, which I think you understand. Google cannot intrude upon the basic right for a new owner to build links on his own domain.
It is possible, I suppose, though extremely unlikely, that if you decided to hold the old domain only for two years, that you could manage to locate all existing links on the web going to the old domain and have them changed to links to your new domain... but that would be between you and the linking site owners. Google has nothing to do with this. It just follows links it finds on the web. Chances are that Google will find more links to the old domain than you will, which is why it's wise to maintain the 301.
I generally keep an old site up, if I can, for a few weeks before I take it down... but note that, once the DNS has propagated and the new site is working, it is not necessary to maintain the old site or to maintain two website hosting accounts. It is necessary to maintain the changed DNS. I like to keep the DNS with the registrar or with a dedicated DNS service. I don't recommend that the DNS be maintained by the web hosting company.
I should mention that somewhere in Google's guidelines on this, I believe by John Mueller, that he'd said that keeping your old domain for two years is probably enough. I thought it was an unwise suggestion at the time I saw it, and nothing has happened to change my mind.
There are some other approaches you might take that are beyond the scope of this basic question you ask. I hope this clarifies things for you.