Flowers in the Attic
(1987)

Despite all her cruel and abusive antics against her grandchildren, Grandma Foxworth (Louise Fletcher) turns out NOT to be the actual villain; CORRINE (Victoria Tennant) IS THE ACTUAL VILLAIN.  You see, after Corrine and her four children, Cathy (Kristy Swanson), Chris (Jeb Stuart Adams), and twins Carrie (Lindsay Parker) and Cory (Ben Ganger) returned to her parent's house, trying to win her father's love back, so she could inherit him after his expected passing away, she gradually changed, to the point that she practically forgot about her children and left them all abandoned to their own luck, and to Grandma's vicious will.

Eventually, Chris discovers that his mother had been living the high, luxurious life, and was engaged to a wealthy man.  Also, little Cory starts to debilitate, apparently out of the famine they were all submitted to, until he dies and gets buried -there were four grave holes prepared for them!!-.  Corrine even shows up and tells the others he had pneumonia, and nothing could be done.

But then, Carrie sees Cory's pet mouse dead, standing next to a bit of a cookie that they were everyday sent to have for dessert; Chris analyzes the cookie and discovers that the powdered sugar on top of it contained arsenic.  It so happens that their own mother was poisoning them, to get rid of them all.  They all decide to put their foot down and save their lives. 

The day of the wedding, Chris knocks Grandma unconscious, and they go to the salon where the wedding is about to take place, looking all pale, skinny and raggedy, to confront Corrine.  She, of course, pretends not to know what is happening; then, Cathy forcedly tries to make Corrine eat the aforementioned cookie bit.  In the struggle, Corrine's wedding dress gets tangled around her neck and feet, making her lose balance and fall through the gazebo's roof below.  She ends up hanged to death.

In the end, Cathy, Chris and Carrie survive and leave the manor, while Grandma watches through the window.
 

Thanks Dr Mat!