Indeed, the problem seems to still be present in 5.2rc1.
I've tracked the call to basis() back to an inefficient implementation of
gen() in FreeModule_ambient (apparently the coercion framework ends up
calling an_element() which in turn ends up calling gen()). It seems easy
enough to fix.
I
After some digging -- and a fortuitous control-C at the right moment
-- it looks like it's trying to construct the basis for the ambient
free module. This will be a list of 10^4 vectors, each 10^4 elements
long, so it's not surprising it takes a lot of memory.. adding a print
statement in the