In a large skillet, cook beef and onion over medium heat until meat is no longer pink; drain. Stir in the tomato sauce, salt, oregano, pepper and garlic. Cover and simmer for 15 minutes. Meanwhile, cook macaroni according to package directions; drain and rinse.
In a large bowl, combine the macaroni, cheese and egg; set aside. In a large saucepan, melt butter. Stir in flour until smooth; gradually add the milk. Bring to a boil; cook and stir for 2 minutes or until thickened. Remove from the heat and stir in salt and cheese.
Spoon half of the macaroni mixture into the bottom of a greased 13x9x2 baking dish. Spread with meat mixture; top with remaining macaroni mixture.
Bake at 350 F, uncovered, for 30 minutes or until heated through. Let stand 5-10 minutes before serving.