another way to get around these problems is to strictly avoid allocating objects/handles within any (helper) functions, most of the time shader objects arent needed after the corresponding program...