Stefan -- That makes sense, although I've noticed that once it runs out of memory with a failure message, it seems like even a simpler network (that would succeed if I ran it first thing) can fail and crash the kernel, so there may also be an issue for how the kernel recovers state & resources after an out of memory condition (in addition to the problem you mentioned where it's internal checks on memory requirements fail).
PS The 970 (and possibly 4GB 960s) do have that weird Nvidia memory issue, where 4GB isn't really available. I have no idea whether that might confuse an application, but it is something memory-related that's unique to these cards. (Nvidia is having to send $30 to every 970 owner as a result -- not the 960, since Nvidia never configured it with 4GB, those were done by board vendors aftermarket).