Hello.
You should notice, that in your code - you will get only one contour.
For your purpose you should fistly get all contours, and after that order them.
Check this code:
var allContours = new List<Contour<Point>>();
for (var contours = image.FindContours(); contours != null; contours = contours.HNext)
allContours.Add(contours);
allContours.OrderBy(x => x.Area);
allContours.OrderByDescending(x => x.Area);