Memory leak on one version of Windows/Hardware only

As if regular memory leaks aren’t enough to scare you away from developing, I’ve got one of the most annoying ones and I’m looking for some recommendations.

My application reads a dynamic list of URLS’s from a server and displays the images. I’m using a Texture2d and www.LoadImageIntoTexture. When I ran it in on my dev box (imac) I noticed, using the profiler, that my texture memory was going up and up. Reading about this being a typical source of memory leaks, I implemented a pooling mechanism and took care of proper destroys etc. My profiler now shows a well behaved memory pattern (textures don’t keep growing). This is a standalone windows/macos application.

So here’s the problem: When I run it in a Windows 7 Professional instance inside a Virtual Machine on my imac, it also behaves great. I can run it for 8 hours and the memory basically stays level and Garbage Collection working as it should.

Now (and since this application is a digital dashboard and needs to run for days on end) when I deployed it on the machine that will be running this dashboard in our foyer, I monitor it in task manager and the memory just grows. After about two hours it’s already consumed twice the memory.

Mac OS: Works fine
Windows 7 Professional 64 bit on VmWare on mac: Works fine
Windows 7 Enterprise 32 bit (Lenovo laptop): Memory leak

Argh.

I can confirm when I remove the texture part of the code, it runs stable on all platforms. However, I’ve destroyed everything I can, used a pool etc as demonstrated by perfect execution on other platforms.

After a week (yes, really!) of trying all different ways of implementing it (changing UI Raw Image to a cube with a renderer etc) I’ve just had no luck. IF at least the memory leak was CONSISTENT across platforms, I’d have something to work with. As it is, I’m suspecting something between the Unity generated code and that specific graphics card on the laptop, if that’s even feasible.

If anybody has ANY ideas or recommendations on how to tackle this, or if you’ve seen this different behavior across different platforms, I’d love to hear. Anything will be beneficial at this point because I’ve exhausted everything I could think of trying.

Thanks
Chris
PS: Was using Unity 5.1.2 and upgraded to 5.1.4

It sounds like you manage the texture resources properly on your end.
All I can think of is to hook up the profiler on the target device and see what turns up that way.
As most computers eventually run into trouble one way or another when being run for a long time, it’s a pretty good idea to reboot them. On most of our windows devices we schedule a reboot at 3 in the morning and have the program autostart.