How can your program use O(2^n) space in less than O(2^n) time? Do you just allocate a huge chunk of memory but don't use most of it? If so, you can replace it by a hash table using O(n² * log(m)) space at an amortized constant cost per memory operation.
Once you have reduced memory consumption in this manner, you can try solving some previously-out-of-reach large SAT instances from past competitions https://satcompetition.github.io/
I expect you to fail, but I think attempting this and figuring out where you made a mistake will likely be educational.