I recommend setting a breakpoint in ProgRoutinObj.OnNew() method as follows to determine what is calling the New() method:
Kevin McNeish
Eight-Time .NET MVP
VFP and iOS Author, Speaker & Trainer
Oak Leaf Enterprises, Inc.
Chief Architect, MM Framework
http://www.oakleafsd.com