For memory issues on OS X I recommend using Guard Malloc. I ran into a weird memory allocation bug in Python recently that caused seemingly random crashes (see issue3242). I was able to narrow down the behavior to a consistent and more useful kind of crash with it.
Were you not able to run gdb? You can usually use it to get the stack trace of a segfault (using bt/backtrace). You have to load the Python binary with it though (and not your script), and then use "run /path/to/your/script arg1 arg2 ...".
You can also change the user limit on core dumps so a full dump is produced on a segfault using "ulimit -c unlimited", and then load that core dump into gdb with "core core.123456".