Blender cycles with alpha texture and glass shader
It appears that this is caused by the alpha mask not being completely transparent, which results in the Alpha channel being a mix of white and dark grey instead of black. This will result in a mix of a lot of transparent shader and a tiny amount of glass/diffuse, giving the green haze.

As a quick workaround you can add a Math node set to .5 with Greater than as the operation.
This sets all pixels above .5 (gray) to 1 (white) and all those below .5 to 0 (black).
Add this to the alpha channel before the mix node (click for full size):



Without the math node:



With the math node: