It depends. The later Garmin X models (i.e. 405CX) uses heart rate as well as user profile and GPS info to make the calorie calculation (based on a license from Polar Technologies). However, it really is just an approximation based on a model, and it seems that many feel that the calculation is somewhat low.
You can try to calibrate it by wearing it on a treadmill and comparing calories used ( the treadmill knows the time, distance, gradient and your weight, so working out the calories is trivial). This will only work on a heartrate based system, and won’t help with the older Garmins. Also, if you upload a workout to a site like mapmyrun, their calorie calculation uses map data to work out vertical movement as well as distance, and can be a bit more accurate in their calculation.
At the end of the day, though, the calories burned is just a number that may reflect reality, in the same way that the nutritional value label on a food item may or may not be accurate. Use the number as a guide, but don’t let it rule your life or eating. You can measure yourself against yourself to see improvements, but that is generally about it.
I can’t comment on your numbers because you don’t mention distance - I hit about 800-900 calories for a 50 minute 10km run, and about 1000-1100 for a 1 hour bike ride (16-17 miles), but I have much more weight to shift (in every sense) and am a male (which bumps up the numbers).