Enabling "optimize for ad hoc workloads" is a no brainer, read about it, then turn it on. It will reduce plan cache bloat for single use plans. If a plan is used more than once, the entire plan will remain in cache, otherwise a placeholder is used which is much smaller than the entire plan.
It may free up some RAM but probably not going to solve your performance issue (especially for a 100MB db).
Check out the wait stats and performance dmvs as Vedran suggested