well, i guess for some people. although, if you do not use and engine or have a teacher explain your mistakes, you will never improve, as you will make the same mistakes again.
Three years, thousands of games, no improvement?

I have had a kind-of-similar experience. Three years ago I was new to the world of serious chess. I began playing online and in rated tournaments OTB. I was reading books, doing tactics, analyzing games move by with with the computer, etc. Then I got a little burnt out on the stress of tournaments and my online rapid rating was absolutely stuck at about 1250. I was helpless against anyone rated higher than that. So I decided to take a break from serious chess stuff and only played online blitz (5 min). That 'break' turned into a 3 year period. I played almost 9,000 blitz gagmes. Although my rating in Blitz did climb fairly steadily for a year and a half (from ca. 1,000 to 1,400), I have spent the last year and a half stuck there (wavering between 1300 and 1400). But I recently decided to get back into real study and tournament play. I've been reading books again, analyzing games again, reviewing openings, endgame studies, doing practice and tactics again, and playing rapid games online (30 min) and analyzing those in detail. In a little over a month I've increased my online rapid rating to 1470 (a few days ago at least).
My summary is: If you're just playing casual games for fun, you are not improving much and definitely not quickly. Sure, I learned lots and lots of patterns by heart in the 9,000 blitz games I played in 3 years. And my tactical eye got better. But improvement truly requires detailed, deliberate STUDY. When I have heard people debating whether or not chess should be considered a sport or a game, I always say: it is not truly either; it is primarily a subject of study, like an academic subject, albeit a very niche 'academic' subject. (It is also a game.)

1 500 rapid is a reasonable rating. What have you been doing except playing games? If you were just playing the entire time, it is probably normal to stay at that rating, or improve slightly.
Have you been trying to study chess in some way (books, chessable courses, videos), have you been practicing tactical puzzles, studying master games, analyzing your own games apart from playing?

1500 is reasonable, and many people (like myself), never get a solid rating above 1500, although I can win against 1600 and very occasionally against someone rated 1700, but I have USCF and rating from other chess servers and never have been able to have a solid rating 1500 or above.
Probably the best USCF game I ever had was a draw against an 1800.. and the opponent was pretty pissed I pulled it off. At least since college, my USCF rating has been between 1425 and 1475.

On that note, the 1500 rapid rating is here, at chess.com. I have absolutely no idea what it corresponds to in FIDE Elo rating (it's my understanding that these two rating system can vary by quite a margin). Would love to know, but unfortunately where I live there aren't really any options to play live games or any games where your FIDE Elo could be measured.
(Not that I would be extraordinarily eager to play tournaments. I have played in many tournaments a long time ago, and I don't really like them. Too stressful. Casual games are much more enjoyable.)

On that note, the 1500 rapid rating is here, at chess.com. I have absolutely no idea what it corresponds to in FIDE Elo rating (it's my understanding that these two rating system can vary by quite a margin). Would love to know, but unfortunately where I live there aren't really any options to play live games or any games where your FIDE Elo could be measured.
(Not that I would be extraordinarily eager to play tournaments. I have played in many tournaments a long time ago, and I don't really like them. Too stressful. Casual games are much more enjoyable.)
The best resource I know of is this:
https://chessgoals.com/rating-comparison/
Bear in mind that this is an approximation and individual cases might be different.

I reviewed one of your game to see which areas you may need improvements.
2. Lack of opportunity to seize " e" file in opening
3. Middle game has no plan ( king attack, control centre or queen side push)

Playing isn't how one improves.
Studying is how one improves.
Playing is just to practice what you've studied.

Playing isn't how one improves.
Studying is how one improves.
Playing is just to practice what you've studied.
Playing alone without review may make you doing the same mistake again and again.
Whether you play 3 mins blitz or 30 mins rapid, reviewing the game is always the key.
Study of
1.opening theory
2.endgame drills
3. Tactics
Studying for improvement is tedious, boring and hardwork. No one like it. But do it if you are serious in the game.

We're not in total disagreement. I consider reviewing part of "studying".
Though, studying also extends past reviewing.
There are lot of ideas in chess that have been found by strong grandmasters--significant ideas--that reviewing alone won't help one learn.
But yes, reviewing is definitely helpful.
It's true, also, that not everyone enjoys studying. Some love it, though. A lot depends on how it's done, and what kind of player one is striving to be.

Playing isn't how one improves.
Studying is how one improves.
Playing is just to practice what you've studied.
I partially disagree with this. Playing is a necessary component to improvement, especially at lower levels. You may improve some by just studying, without playing, but nowhere near as much as you'd hope. Below 1800 level, I'd say actual play time, at slow time controls, should make up roughly 50% of your chess time if you're serious about improvement.

What would be the best and most convenient (and preferably cheapest, if not free) way of studying chess theory at this level?

If I'm reading my chess.com statistics correctly, during the last 3 or so years I have played 3970 games. Pretty much during all this time have been stuck at about 1500 rapid rating and 1300 blitz rating, with no discernible improvement. (I haven't been playing a whole lot of rated games, but I don't see myself winning disproportionately many games against people at my level in unranked games either.)
Is this normal? Does there become a point where merely playing games will not help you improve at all?
Chess is no different than most fields of human endeavour where the population distributes according to a bell curve: the more you want to move to the right of the median, the harder it gets, generally speaking.

What would be the best and most convenient (and preferably cheapest, if not free) way of studying chess theory at this level?
For opening,
1. Use of free opening explorers, e.g https://www.365chess.com/
Study mainlines. If you are in doubt why they move those mainlines, use engines why those moves are refuted. Specialize in a few openings only and apply your mainlines, and get advantage in opening if opponents deviate from mainlines.
2. Review of hundreds of master games to get idea of your opening lines (e.g Sicilian ) how they proceed their plan in middle games. Some CD has millions of games. Games are also freely accessible in chess.com and other internet rescources
3. Tactics
4. Endgame drills, you can use your own game positions , and play against engines in the positions where you misplayed endgames. Endgame knowledge are critically improtant to decide where to keep your game pace, keep in middle game vs simplification into endgame. (certain pawn advanced positions or extra pawns are winning in endgame but some are not, e.g rook endgame with extrapawn in same side are usually draw)

What would be the best and most convenient (and preferably cheapest, if not free) way of studying chess theory at this level?
Below 1800 (in slow OTB play), the main thing is tactics. Do lots and lots of tactics puzzles, using books of puzzles chosen for their instructional value. Find good books of 300-500 puzzles, and go through them over and over until you can spot the solutions instantly. Then, move on to the next book. Dan Heisman's "Back to Basics: Tactics" and John Bain's "Chess Tactics for Students" are the usual recommendations for beginners. Heisman has a list of book recommendations on his web site when you're ready to move on to tougher stuff from there.
Also, read through books of master games. But not just any books. Make sure they're well annotated in words, not just variations. Chernev's "Logical Chess: Move by Move" has been the most recommended book for beginners for decades, and it's perfect for this. Follow it up with Chernev's "Most Instructive Games of Chess Ever Played" and then anything by Neil McDonald.
For endgames, get "Silman's Complete Endgame Course" by Jeremy Silman. Don't let the large size intimidate you. You just have to read the first 3 or 4 chapters right away, and then keep coming back to it whenever you're ready to learn more in the future.
And here's the most important part: DO NOT STUDY OPENINGS!!! Take it from someone who has fallen into that trap. There's tons of material on openings out there, and you can spend hours and hours watching videos and reading books, but it won't make you a better chess player. It'll just prepare you for a very small percentage of your games when you opponent happens to follow those exact moves. You're better off understanding how to improvise in the opening (learned from "Logical Chess") and what to shoot for in the middle game and engame (learned from tactics puzzles, those books of master games, and your endgame study).
The only opening study you should do is to look in a database after your games to see how masters usually handle the positions from the openings you just played. That way, you'll pick up a little bit of opening knowledge at a time, in a way that's easy to digest and remember, without wasting your time on way too much opening study.
That is why I study openings. I do not believe in people who says tactics everyday will make you an expert. Tactics every day will only make you a tactics expert!! Not chess.

Playing isn't how one improves.
Studying is how one improves.
Playing is just to practice what you've studied.
I partially disagree with this. Playing is a necessary component to improvement, especially at lower levels. You may improve some by just studying, without playing, but nowhere near as much as you'd hope. Below 1800 level, I'd say actual play time, at slow time controls, should make up roughly 50% of your chess time if you're serious about improvement.
Well, I wasn't implying that one should never play. What I meant was: playing should be done with a purpose: to practice the things that you're learning.
Too many think that playing alone is the secret to improving. "I don't get it! I play SO MUCH! Shouldn't I get stronger the more I play?"
But it's the same with learning most skillsets: if you're looking for better results, you're better off to study specific techniques or ideas, then practice implementing them.
If I'm learning to knit, for example, I could just sit there and noddle around with the needles and yarn. Trial and error.
Or, I could learn some proper knitting techniques, then actually try to do them.
Both approaches are entirely valid, sure. But only one approach will yield the best results.

When you take lessons from a titled player, for example, it would be extremely unusual if the only advice they gave you was to "Just play." Or even: "Just play, then review afterward with an engine."
More common: they're going to give you specific things to practice, and concrete techniques to work on, until your next meeting. And every game you play, in the meantime, will have a purpose: to reinforce, explore, or hone these new techniques that you've been taught.
Not everyone has access to private coaching, though, so we have to make do with what we have. But my point is that purposeful play is a very specific thing, and it's quite different from trial and error.
If I'm reading my chess.com statistics correctly, during the last 3 or so years I have played 3970 games. Pretty much during all this time have been stuck at about 1500 rapid rating and 1300 blitz rating, with no discernible improvement. (I haven't been playing a whole lot of rated games, but I don't see myself winning disproportionately many games against people at my level in unranked games either.)
Is this normal? Does there become a point where merely playing games will not help you improve at all?