A little more information about what these solutions do would be helpful. There are a number of things you can do in your solution to create a memory issue yourself as you can do in any programming language.
If you are doing looping you should never use a jump label to go backwards in an automation - this should always be done using a ForLoop to prevent stack overflow. A ForLoop or a ListLoop allows the thread to release its resources on each loop iteration. Check you log and look for Executed statements. If you see lots of ExecutionLink entries with no Executed your stack would be growing and could cause memory issues.