Full-duplex technology has become an attractive solution for future 5th generation (5G) systems for accommodating the exponentially growing mobile traffic demand. Full duplex allows a node to transmit and receive simultaneously in the same frequency band, thus, theoretically, doubling the system throughput over conventional half-duplex systems. A key limitation in building a feasible full-duplex node is the self-interference, i.e., the interference generated by the transmitted signal to the desired signal received on the same node. This constraint has been overcome given the recent advances in the self-interference cancellation technology. However, there are other limitations in achieving the theoretical full-duplex gain: residual self-interference, traffic constraints, and inter-cell and intra-cell interference. The contribution of this article is twofold. Firstly, achievable levels of self-interference cancellation are demonstrated using our own developed test bed. Secondly, a detailed evaluation of full-duplex communication in 5G ultra-dense small cell networks via system level simulations is provided. The results are presented in terms of throughput and delay. Two types of full duplex are studied: when both the station and the user equipments are full duplex capable and when only the base station is able to exploit simultaneous transmission and reception. The impact of the traffic profile and the inter-cell and intra-cell interferences is addressed, individually and jointly. Results show that the increased interference that simultaneous transmission and reception causes is one of the main limiting factors in achieving the promised full-duplex throughput gain, while large traffic asymmetries between downlink and uplink further compromise such gain.