1. Preheat oven to 375 degrees F (190 degrees C). Place a large sheet of aluminum foil on a medium baking sheet.
2. In a medium bowl, mix the bread, celery, cranberries, walnuts, onion, and garlic. Season with sage, marjoram, salt, and pepper. Stir in the egg and enough hot water to moisten.
3. Arrange turkey legs on the foil sheet, and season with salt and pepper. Spoon the bread mixture around the legs, and dot with butter. Tightly seal the foil around the legs and bread mixture.
4. Bake 1 hour in the preheated oven, or until the turkey leg meat has reached an internal temperature of 180 degrees F (80 degrees C).