Bring a large pot of water to a boil. Remove from heat and submerge cabbage leaves in water. Cover and let sit for 10 minutes. Drain.
In a medium saucepan heat oil over medium heat. Add onion and cook until softened. Add garlic and cook 1 more minute. Remove from heat. Place half of onion mixture in a medium bowl and leave the rest in the saucepan.
To the saucepan, add tomato sauce, tomato paste, water, gingersnap crumbs, brown sugar, and vinegar. Bring to a boil and simmer 5 minutes.
To the bowl with the onion mixture, add ground beef, rice, egg, milk and salt and pepper. Mix together with a wooden spoon or your hands.
Place about 3 tablespoons of meat mixture at the stem end of each cabbage leaf. Fold left and right sides over and roll up. Place seam side down in a 9x13-inch baking dish.
Pour tomato sauce over cabbage rolls.
Cover pan with aluminum foil and bake for 45 minutes in a 375 degree oven. Uncover and bake 15 more minutes. At the point you uncover the baking dish, scoop some tomato sauce on top of the cabbage rolls with a spoon so that they do not dry out.