Well I have had this problem with my kiddos as well but in different ways at different stages.
My oldest we took out of a crib around 18 months- she did fine for about a month and then was getting up- clearly 18 months is not when they are mature enough to have such freedom. so we put her back into a crib- inwhich she could get out of so we put her in a porta crib. By 20 months she was again staying in the portacrib and wasn't climbing out- even though she knew she could she also recognized that the portacrib was her limit. I wish we had never taken her out of the crib as I think it set the stage for bad night time behavior with her.
With that said the rest of the kiddos that have followed have stayed in their cribs/porta cribs until we potty train for night time- so around 3. And with that said ALL of them did great for a while and then- usually around 3 1/2- would come into our room at night.
So here is my fix for those sistuations and my ground rules.
either get a crib mattress or one of those fold up pillow chairs from walmart (I like the real ones you find in the home section- not the little kid ones found in the toys). When it is the childs bedtime they go to bed IN THERE BED before I go to bed though I either pull out the matress or unfold the chair and set up a bed on the floor. If the child gets up at all before I go to bed then they go back to their room. HOWEVER if the child gets up when I am already asleep then they are ALLOWED to sleep on the little bed on the floor.
This stage usually only last a few months and I id always encourage them to stay all night in their own bed but I did not get angry at them for comming into my room.
I had decided that my sleep and the sleep of my child was more important than night time battles. I think the longest time period of a child comming in in the middle of the nigth was with my second and hers was on and off for about 7 months - but again on and off she would do it 3 nights in a row and then nothing for 3 weeks. the number three girl though it only lasted about 2 1/2 months.
Your son is still VERY young. If it were me I would put him back in a crib or porta crib. He will be mad at first but after a few days he will except it. If you can not keep him in a porta crib then you have a few options. One is to buy one of those canopy nettings that attached to the top of a crib/porta crib and that way he can not crawl out OR try and set up a litt bed on the floor at night and see if he can grasp the concept of in mamas room but not in her bed. 21 months is just very young. If everyone sleeps fine in the bed together then you can always just let him continue to crawl inthere with you guys but if that is not something that in contusive then try to find a happy medium or alternative. If you were dealing with a three yr old then I would pressume that this is just a stage and would be over in 2-6 months but you are going through this with a child who isn't even 2 yet. I personally would get him back in a crib and leave him in it until he is 3 =-)