read_csv. when file has many np.object dtype columns consumes a lot of memory
This is related to the old memory issues that pandas had when reading csv files. Now the situation is much better, but I've found that when the csv file has many string columns the memory consumption is increased a lot. Having numeric dtypes is handled correctly.

In pandas/io/parsers.py - TextFileReader.read method:

``` python
ret = self._engine.read(nrows)

if self.options.get('as_recarray'):
    return ret

# May alter columns / col_dict
index, columns, col_dict = self._create_index(ret)

df = DataFrame(col_dict, columns=columns, index=index)
```

The first line reads the file correctly with linear memory usage, but the final line constructing the DataFrame has a memory peak which -in my case- seems to near double the memory needed. 

I've traced the issue down to the internals.py - block manager - form_blocks method. When treating the np.object dtypes is copying the data, and thus the memory peak.

Any ideas about how this can be mitigated? 
